Menu
Coddy logo textTech

Переключение с помощью состояния

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

Состояние — это не только числа. Булево (boolean) состояние — это стандартный переключатель для отображения и скрытия элементов:

const [isOpen, setIsOpen] = useState(false);

<button onClick={() => setIsOpen(!isOpen)}>Menu</button>
{isOpen ? <p>I am visible!</p> : null}

Два трюка, работающие вместе:

  • setIsOpen(!isOpen): ! меняет логическое значение на противоположное, поэтому одна кнопка и открывает, и закрывает
  • {condition ? jsx : null}: рендеринг null не рендерит ничего; элемент не просто скрыт, он не существует
challenge icon

Задание

Средне

Создайте компонент для раскрытия спойлера.

  1. Добавьте логическое состояние revealed со начальным значением false.
  2. Кнопка (id="toggle") переключает его при каждом клике.
  3. Когда состояние раскрыто, отобразите <p> с id="secret" и текстом The cake is real; в противном случае выполните render со значением null.

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

<!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Проверьте себя

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

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