Если Вы уже знакомы с HTML, на примере выше вы увидите знакомые теги, кроме родительского, который представляет собой “пустое” объявление тега. Это специальный React-тег под названием Fragment. Функция, описаная в JSX файле может возвращать только один родительский элемент с любым количеством вложенных и Fragment предназначен для обхода этого ограничения, если вам не нужна обертка в виде div или другого элемента. В остальном описание разметки очень похоже на HTML, “магия” начинается, когда мы добавляем в нее интерактивность. В отличии от обычного взаимодействия с помощью JavaScript, JSX позволяет получить доступ к элементам страницы, слушателям событий и прочему без использования селекторов. Так же сам React предоставляет нам мощный инструмент - хуки (hooks). Это функции, с помощью которых мы можем управлять состоянием и взаимодействовать с жизненным циклом React-компонента. Одним из основных и наиболее часто используемых хуков - useState, который необязательным параметром принимает изначальное состояние в виде любого значения и возвращает переменную, хранящую это состояние и функцию для его изменения. Для того что бы продемонстрировать использование данного хука и доступ к элементам разметки, добавим их в наш компонент TodoList: