Для последнего проекта в Тьюринге у студентов есть выбор: выполнить проект по своему выбору на новом языке или платформе, не охваченной учебным планом, или студент может работать над одним из проектов с открытым исходным кодом. Оба проекта с открытым исходным кодом используют новый материал, но обеспечивают более структурированный подход к новому материалу. До этого момента в учебной программе учащиеся в основном знакомились с Ruby, Rails и JavaScript, если только они не решили предпринять что-либо во время своего личного проекта в предыдущем модуле.

Я работал над одним из проектов с открытым исходным кодом под названием Looking For, в котором использовался внешний интерфейс React, полагающийся на серверную часть Ruby on Rails для предоставления всех данных. Когда я начинал этот проект, первой проблемой было то, что я не знал никакого React. К счастью, мы рассмотрели другие языки, из которых я мог извлечь шаблоны и функциональные возможности, чтобы начать обдумывать новый синтаксис, функциональные возможности и области видимости.

В дополнение к выводам о сходстве я сразу же начал исследовать тему, чтобы подтвердить свои предположения. Из своего исследования я понял, что React — это библиотека в JavaScript, которая позволяет тем, кто ее использует, создавать легкий, разделенный на части и легко обновляемый уровень представления, который работает с выбранной ими структурой.

React имеет очень специфический способ передачи и изменения данных или состояния. Как правило, информация передается по иерархии компонентов от родительского к дочернему. Затем, если данные или состояние необходимо изменить, дочерний компонент, который соответствует этой конкретной информации, изменит свое состояние, как правило, с использованием обработчиков событий. Это была концепция, которая заняла у меня слишком много времени, чтобы хоть немного привыкнуть к ней, но я очень рад, что у меня есть знания о том, как компоненты React наследуют состояние.

Еще один компонент, относящийся к аспекту разделения React и тому, как работает иерархия, — это способ, которым файлы требуются и используются во всем приложении. Обычной практикой является создание компонентов React в гранулированном виде, чтобы затем вы могли передавать их, чтобы не повторяться. Чтобы это произошло, в конце каждого файла компонента, который вы хотите использовать в другом месте, вы должны включить что-то похожее на следующий фрагмент кода:

export default CustomComponentName;

Затем в файле, в котором вы хотите использовать этот компонент, вам нужно будет потребовать или импортировать его аналогично следующему примеру:

import CustomComponentName from './CustomComponentName';

Процесс экспорта и импорта должен выполняться для каждого компонента, созданного где-либо, кроме того места, где он используется.

В заключение скажу, что библиотека React по-прежнему является очень новым и не очень отточенным инструментом в моей коллекции интерфейсов. При этом я считаю, что темы, затронутые выше, являются одними из основных кривых обучения, с которыми вы столкнетесь, приступая к работе с React. Я действительно думаю, что это будет инструмент, который я буду использовать все чаще и чаще по мере роста моей компетенции, и со временем он станет моей основной библиотекой для создания облегченного внешнего интерфейса JavaScript.