React JS Урок 2: Первая программа с JSX

Этот урок посвящен созданию простой программы, которая будет принимать текст и HTML-теги, размещая их в другом элементе. Это первый шаг в изучении React JS.

Подключение библиотек

Для работы необходимы библиотеки React и Babel. React уже подключен (в папке «js»). Babel преобразует JSX-код в JavaScript. Подключение Babel осуществляется через тег <script>.

JSX — синтаксис, позволяющий писать HTML-код внутри JavaScript. Вместо громоздкого JavaScript-кода для создания элементов, используется более компактный JSX. Babel преобразует его в понятный браузеру JavaScript.

Создание контейнера и скрипта

Создаем контейнер — <div> с id «example»:

<div id="example"></div>

Создаем тег <script> для React-кода. Важен атрибут type="text/babel":

<script type="text/babel">
  // Здесь будет наш React-код
</script>

Этот атрибут указывает браузеру на необходимость обработки содержимого скрипта Babel. Без него браузер не сможет интерпретировать JSX-код.

Написание React-кода

React-приложение разделяет веб-страницу на блоки (шапка, футер, статьи и т.д.). Используем метод ReactDOM.render() для размещения контента в эти блоки.

В примере заголовок третьего уровня «<h1>Han and Zmey</h1>» помещается в контейнер с id «example»:

ReactDOM.render(
  <h1>Han and Zmey</h1>,
  document.getElementById('example')
);

Первый параметр — JSX-код для отображения. Второй — элемент DOM, куда вставляется код (в данном случае, <div> с id «example»).

Результат и важность type="text/babel"

После обновления страницы в браузере отобразится заголовок «Han and Zmey» внутри контейнера. Без атрибута type="text/babel" ничего не отобразится, и в консоли разработчика появится ошибка. Атрибут type="text/babel" необходим для корректной обработки JSX-кода Babel. Код можно разбить на несколько строк для улучшения читаемости.

В этом уроке выполнена базовая настройка и создана первая программа на React JS, используя JSX и метод ReactDOM.render(). Мы научились создавать контейнеры, подключать React-код и использовать Babel для обработки JSX. В следующих уроках продолжим изучение React.

Что будем искать? Например,программа