Menu
Coddy logo textTech

Тернарный рендеринг

Часть раздела Основы путешествия по React на Coddy — урок 33 из 42.

Фигурные скобки JSX не могут содержать инструкцию if, но в них отлично помещается тернарный оператор, и он покрывает практически любой выбор «или/или» на экране:

{isLoggedIn ? 'Welcome back!' : 'Please log in'}

Сначала условие, затем значение для true, затем значение для false. Обе стороны могут быть полноценными элементами JSX:

{isLoggedIn
    ? <p>Welcome back!</p>
    : <button>Log in</button>}

Свяжите это со состоянием, и страница будет переключаться на лету: измените boolean-значение, и React перерендерит другую ветку.

challenge icon

Задание

Легко

Создайте строку состояния входа.

  1. Добавьте логическое состояние loggedIn с начальным значением false.
  2. Кнопка (id="login") переключает его при каждом клике.
  3. Абзац (id="status") отображает Welcome back!, когда выполнен вход, и Please log in в противном случае, используя тернарный оператор.

Попробуйте сами

<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" href="styles.css" />
    </head>
    <body>
        <div id="root"></div>
        <script type="module" src="main.jsx"></script>
    </body>
</html>
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы