Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: XXIII-XXIV Международной научно-практической конференции «Вопросы технических и физико-математических наук в свете современных исследований» (Россия, г. Новосибирск, 24 февраля 2020 г.)

Наука: Информационные технологии

Секция: Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Крюков А.С. ИССЛЕДОВАНИЕ ОСОБЕННОСТЕЙ БИБЛИОТЕКИ REACT.js // Вопросы технических и физико-математических наук в свете современных исследований: сб. ст. по матер. XXIII-XXIV междунар. науч.-практ. конф. № 1-2(19). – Новосибирск: СибАК, 2020. – С. 9-14.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

ИССЛЕДОВАНИЕ ОСОБЕННОСТЕЙ БИБЛИОТЕКИ REACT.js

Крюков Алексей Сергеевич

магистр, ФГБОУ ВО Московский государственный технологический университет «СТАНКИН»,

РФ, г. Москва

АННОТАЦИЯ

Целью данной статьи является выявление рациональности использования библиотеки React.js в современной разработке. В этой статье будет приведена информация об этой библиотеке, а также будут приведены примеры кода, которые покажут, как использовать особенности этой библиотеки. На основании этих данных будет сделан вывод о рациональности использования этого инструмента в современной frontend-разработке.

 

Ключевые слова: React.js, Javascript, Frontend, web-разработка.

 

Настройка

При начале работы с данной библиотекой необходимо использовать основы web-программирования: во-первых, потребуется файл HTML, импортирующий React и ReactDOM-библиотеки, которые используют тег <script>. См. листинг 1.

Листинг 1. Подключение react-библиотеки в html-файл

 

Также в данном примере кода импортируется Babel. Этот инструмент необходим для транспиляции приложения. Транспиляция – это процедура, результатом работы которой является код приложения, который сможет использовать любой браузер. Также Babel используется здесь из-за того, что в библиотеке React используется особый язык JSX для написания разметки. Нам понадобится переводить его в чистый JavaScript, чтобы браузер мог понять его.

Также в этом примере кода есть еще два момента, на которые стоит обратить внимание:

1) div c id #root. Этот блок – точка входа для react-приложения. Оно будет рендериться в этом блоке;

2) <script type="text/babel"> тег в body. Это то, где будет писаться React.js-код.

Компоненты

В данной библиотеке все является компонентом. Компоненты обычно принимают форму классов JavaScript. При разработке создается дочерний класс от React-Component класса. Ниже представлен пример react-класса Hello. См. листинг 2.

Листинг 2. React-класс Hello

 

В коде для компонента определяются методы. В этом примере у компонента только один метод – render(). Внутри render() возвращается то, что должно быть показано на странице. В вышеприведенном примере выводится <h1> тег с текстом Hello World!. Для того чтобы разрабатываемое приложение отрендерилось на экране, необходимо также использовать метод ReactDOM.render(). См. листинг 3.

Листинг 3. Отображение react-компонента

 

В вышеописанном месте компонент hello связывается с точкой входа в приложение. В результате на экране будет выведено следующее. См. рис. 1.

 

Рисунок 1. Отображение компонента в браузере

 

Обработка данных

В данной библиотеке есть два типа данных: props и state. Они различаются тем, что state приватен и может меняться из самого компонента. Props – это внешний тип данных, и они не контролируются самим компонентом. Он передается от компонентов, расположенных выше по иерархии, также контролирующих данные.

Компонент может менять свое внутреннее состояние напрямую, но не может менять props.

Props [1]

Вышеописанный компонент Hello статичен и выводит на экран одно сообщение. Значимая часть при работе с React – это возможность повторного использования компонентов. Это означает возможность написать компонент единожды и затем использовать его в других местах, например показывать разные сообщения.

Чтобы достигнуть такого рода повторного использования, добавляются props. См. листинг 4.

Листинг 4. Отправка props

Props имеет название message и имеет значение «my friend». К этому значению можно получить доступ внутри компонента Hello, ссылаясь на него через this.props.message. См. листинг 5.

Листинг 5. Взаимодействие c props

Результат см. на рис. 2.

 

Рисунок 2. Результат работы с props

 

Вышеприведенное обращение к props {this.props.message} сообщает JSX, что используется JavaScript-выражение. Это называется экранированием.

Таким образом мы получаем переиспользуемый компонент.

State [2]

State (или внутреннее состояние) представляет собой иной способ хранения данных компонента в react. Его отличие от props состоит в том, что он может быть изменен компонентом.

Если необходимо изменить что-то внутри компонента в зависимости от действий пользователя или пришедших данных, то используется state компонента.

Инициализация state

Для инициализации state необходимо вставить this.state в конструктор класса. State – это объект, который в нижеприведенном примере имеет только один ключ под названием message. См. листинг 6.

Листинг 6. Пример работы с state компонента

 

Перед инициализацией state нужно вызвать метод super() в конструкторе, так как this не инициализирован перед вызовом super() .

Изменение состояния

Для изменения state необходимо вызвать метод this.setState(), передав новое состояние объекту как аргумент. В нижеприведенном примере это сделано внутри метода, который называется updateMessage. См. листинг 7.

Листинг 7. Изменение state

 

Также стоит отметить отдельно, что требуется связать this с updateMessage-методом. В противном случае нельзя получить доступ к этому методу.

Вывод

На основании вышеизложенной информации можно сделать вывод, что данная библиотека отлично подойдет для современной frontend-разработки, так как имеет огромное количество преимуществ и полезных инструментов, которые будут очень сильно облегчать и ускорять разработку.

 

Список литературы:

  1. Библиотека «learn-reactjs» / [Электронный ресурс]. – Режим доступа: https://learn-reactjs.ru/core/topics.
  2. Библиотека «old.code.mu» / [Электронный ресурс]. – Режим доступа: http://old.code.mu/books/advanced/javascript/react/.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.