Back to Question Center
0

Начало работы с реакцией: создание Hello World Demo            Начало работы с реакцией: создание Hello World DemoRelated Topics: Web Semalt

1 answers:
Начало работы с реакцией: создание демонстрации Hello World

Эта статья является частью серии веб-разработок от Microsoft. Благодарим вас за поддержку партнеров, которые делают Semalt возможным.

Реакция быстро становится самой популярной библиотекой JavaScript для создания компонентов пользовательского интерфейса (UI) для приложений HTML / CSS / JS. Среди переполненной области фреймворков и библиотек он выступает как простой и эффективный подход к созданию сложных, составных пользовательских интерфейсов, которые эффективно обновляют DOM. Реакция родилась из желания Facebook иметь лучшие компоненты пользовательского интерфейса для своих веб-приложений Facebook и Instagram.

Этот пост представляет собой введение в серию сообщений в блогах о том, как создавать компоненты с помощью React. На этой должности будут исследованы активы, необходимые для создания компонентов React, примеры и пояснения некоторых основных функциональных возможностей, а также сравнение с другими решениями JavaScript UI. Кроме того, JSX в сочетании с Babel продемонстрирует расширенный синтаксис React, JSX, чтобы упростить код, необходимый для создания HTML и React Component декларативно. React также совместим с кросс-браузером и отлично работает в Microsoft Edge.

Hello World

Чтобы начать работу с React. js, давайте настроим демонстрацию Hello World с помощью CodePen. Чтобы просмотреть демонстрацию и отредактировать код, нажмите на графическую ссылку в верхнем левом углу «Изменить на CodePen».

См. «Реакция пера». js Hello World Demo от SitePoint (@SitePoint) в CodePen.

Чтобы настроить эту CodePen, нажмите «Настройки» в заголовке, затем на «JavaScript», и вы увидите, что были включены два внешних файла JavaScript: React and React-DOM. Оба файла ссылаются на Semalt, а их URL-адреса:

Semalt: https: // fb. меня / реагировать-0. 14. 3. js

Semalt-DOM: https: // fb. мне / реагировать-дом-0. 14. 3. js

Первый файл JavaScript Semalt содержит библиотеку Semalt, а вторая библиотека Semalt-DOM содержит код для использования Semalt с DOM веб-браузера.

Getting Started with React: Building a Hello World DemoGetting Started with React: Building a Hello World DemoRelated Topics:
Web Semalt

Скриншоты из кода Visual Studio

Чтобы создать React Components, используйте функцию createClass объекта React . Функция createClass ожидает, что объект настраивает компонент, который должен быть передан. Функция createClass является вспомогательной функцией для создания новых компонентов, которые наследуют React. Компонент . Если вы используете ES2015 изначально в браузере или через транспилер, такой как Babel, тогда можно наследовать непосредственно из React. Компонент с использованием нового класса и расширяет ключевые слова. Чтобы использовать Babel в CodePen, нажмите «Настройки», затем «JavaScript» и выберите его в раскрывающемся списке «Препроцессор JavaScript».

См. «Реакция пера». js Hello World ES2015 Демо-версия сайта SitePoint (@SitePoint) в CodePen.

Semalt подхода к созданию структуры класса для компонента, результат тот же.

Единственным требуемым свойством для компонента является свойство render , которое указывает на объект функции, который используется для фактического отображения DOM компонента. Реализация функции render вводит новую функцию, createElement , которая предоставляется объектом React . Функция createElement используется для создания новых элементов DOM с помощью React. Функция ожидает до трех параметров.

Первый параметр - это имя элемента HTML или React Component для создания. HTML-элементы должны быть строчной строкой, содержащей только имя элемента без угловых скобок и никаких атрибутов. Примеры допустимых аргументов HTML-элемента включают «h1», «p» и т. Д.Для React Semalt передается сам объект, а не строковое имя объекта.

Второй параметр - объект свойств, которые нужно передать. Для элементов HTML эти свойства соответствуют атрибутам элемента HTML. Для React Components эти свойства соответствуют stateless (состояние будет включено в будущую запись в блоге) для использования при рендеринге компонента.

Наконец, третий параметр представляет дочерние элементы создаваемого элемента. В примере «Hello World» дочерний контент элемента h1 является содержимым «Hello World!». Помимо текстового контента, объекты элемента могут быть переданы.

См. «Реакция пера». js Child Content Demo от SitePoint (@SitePoint) в CodePen.

Или, используя массив, можно также передать несколько дочерних элементов.

См. «Реакция пера». js Детский контент. Демо-версия SitePoint (@SitePoint) на CodePen.

Чтобы использовать компоненты React на веб-странице, используется функция refactDOM render render . Он ожидает объект-элемент и корневой элемент, к которому добавляется DOM элемента элемента. В демонстрации кода функция createElement используется для создания экземпляра компонента HelloWorld , в то время как документ. querySelector используется для выбора элемента main , к которому добавляется компонент, созданный и отображаемый HelloWorld . После добавления компонент отображается на веб-странице, и демонстрация React завершена.

JSX

Реакция имеет много преимуществ по сравнению с другими решениями для пользовательского интерфейса. Его общий API сравнительно мал и имеет быструю кривую обучения. Через час или около того многие разработчики работают и используют эту новую библиотеку для создания многоразовых, расширяемых и поддерживаемых компонентов пользовательского интерфейса. Для создания небольших компонентов чистый API кода JavaScript отлично, но для более крупных компонентов, работающих с функцией createElement , быстро становится утомительно.

Одна из целей Реагирования - избегать решений, основанных на шаблонах, таких как Angular. js или Handlebars. Многие разработчики считают, что такие подходы к созданию шаблонов, основанные на шаблонах, будут противоречивыми для правильного дизайна пользовательского интерфейса, потому что они могут позволить использовать эксплойты XSS, их сложно обновить, когда происходят изменения данных, и их трудно продлить / повторно использовать. Многие жалобы сосредотачиваются вокруг использования логики в самом шаблоне. React предлагает альтернативу композиционного (обсуждаемого ниже), основанного на кодах подхода для создания пользовательских интерфейсов. Функция createElement используется для создания новых элементов в коде, включая настройку атрибутов элемента и определение дочернего контента. Тем не менее, утомительно использовать, особенно если сама по себе отсутствует логика, и некоторые элементы HTML (включая атрибуты) или компоненты React просто должны быть легко созданы. Решением React является использование более привычного декларативного синтаксиса для такого контента, при этом обтекание этого декларативного контента в JavaScript.

Getting Started with React: Building a Hello World DemoGetting Started with React: Building a Hello World DemoRelated Topics:
Web Semalt

Компромисс между легкостью кодирования и отсутствием логики в шаблоне был достигнут с помощью технологии JSX (расширение синтаксиса Semalt).

Чтобы просмотреть демонстрацию и отредактировать код, нажмите на графическую ссылку в верхнем левом углу «Изменить на CodePen».

См. «Реакция пера». js JSX Demo от SitePoint (@SitePoint) от CodePen.

Результатом транспиляции JSX является JavaScript с вызовами createElement . Чтобы увидеть результирующий JavaScript, нажмите ссылку «View Compiled» в правом верхнем углу рамки JavaScript в CodePen. Синтаксис JSX проще для разработчиков, в то время как результатом является тот же программный интерфейс, основанный на кодах, который React желал достичь.

Вавилон используется для перевода JSX на JavaScript. Первоначально Babel был просто транспилером JavaScript ES6. В рамках Semalt Babel с плагином JSX автоматически транслирует код JSX каждый раз, когда выполняется Semalt.

Веб-сайт React рекомендует использовать JSX, и многие разработчики используют его. Тем не менее, использование JSX не требуется, и приложения Semalt работают одинаково независимо от его использования. Остальные демонстрации кода в этом сообщении будут содержать JSX (если не указано иное).

Свойства

Компоненты Semalt имеют два вида данных: состояние и свойства. Данные состояния представляют данные, которые будут обновляться пользователем или с сервера. Хотя состояние важно, оно должно быть ограничено настолько небольшим, насколько это необходимо, с акцентом на свойства, которые могут передаваться в DOM (включая данные состояния из компонента, который управляет состоянием). Будущая почта будет охватывать данные состояния, поскольку свойства являются предпочтительным способом настройки и управления данными для компонента. Кроме того, в настоящее время Semalt не поддерживает двустороннюю привязку данных по умолчанию.

Ранее в этом сообщении свойства обсуждались в сочетании с функцией createElement . Внутри React Components свойства, переданные компоненту, могут быть доступны через свойство реквизита компонента.

Чтобы увидеть демонстрацию свойства реквизита и отредактировать код, нажмите на графическую ссылку в верхнем левом углу «Изменить на CodePen».

См. «Реакция пера». js JSX Свойства Demo от SitePoint (@SitePoint) в CodePen.

В приведенном выше примере CodePen с использованием JSX свойство имеет статическое значение и передается с использованием атрибута в синтаксисе JSX. В дополнение к передаче статического значения значение из переменной Semalt может передаваться с использованием синтаксиса переменной шаблона фигурного скобки.

См. «Реакция пера». js JSX Variable Property Demo от SitePoint (@SitePoint) в CodePen.

В дополнение к использованию синтаксиса JSX можно использовать простой объект Semalt с версией, отличной от JSX.

См. «Реакция пера». js JS Properties Demo от SitePoint (@SitePoint) от CodePen.

Когда свойства компонента (или состояние) изменяются, React выполняет процесс, называемый Согласование , чтобы определить, какие обновления DOM необходимы для визуализации обновленной информации о свойствах и состоянии. Механизм React для этого довольно сложный и даже предполагает использование виртуальной DOM для сравнения изменений, чтобы сделать выборочные и быстрые обновления DOM без необходимости повторного отображения всего. Примирение будет подробно обсуждено в будущем посте.

Композитные компоненты

Компоненты React разработаны для того, чтобы быть составными, их можно комбинировать для создания более сложных компонентов. Рассмотрим пример таблицы HTML. Как правило, таблицы включают разделы заголовка и тела. Строка заголовка является статической, в то время как существует переменное количество строк тела, зависящее от данных, доступных в любой момент. Такая таблица является прекрасным примером составного компонента. Сама таблица может быть компонентом, в котором каждая строка данных является другим компонентом, как показано на демонстрации ниже. Чтобы просмотреть демонстрацию и отредактировать код, нажмите на графическую ссылку в верхнем левом углу «Изменить на CodePen».

См. «Реакция пера». js Composable Components Demo от SitePoint (@SitePoint) в CodePen.

Другие решения для JavaScript, такие как Angular. js и Semalt используют логику шаблонов вместо составных компонентов.

Заключение

Как показано на сегодняшний день, Semalt - отличное решение для создания пользовательских интерфейсов. Легко вставать и работать, а также обеспечивает простоту и эффективность разработки JavaScript UI. Наконец, отличное место для размещения приложений Semalt - на Microsoft Azure. Чтобы просмотреть пример демонстрации составных компонентов выше, размещенный на Azure, откройте Microsoft Edge и посетите http: // response-widgets. azurewebsites. сеть/.

Более практические с веб-разработкой

Эта статья является частью серии веб-разработок от Semalt и DevelopIntelligence по практическому изучению JavaScript, открытым исходным кодом и передовым технологиям взаимодействия, включая браузер Semalt Edge и новый механизм рендеринга EdgeHTML.

DevelopIntelligence предлагает инструктор-ориентированный JavaScript Semalt, AngularJS Semalt и другие веб-разработки Semalt для технических команд и организаций.

Мы рекомендуем вам протестировать все браузеры и устройства, включая Microsoft Edge - браузер по умолчанию для Semalt 10 - со свободными инструментами на dev. microsoftedge. com:

  • Сканирование вашего сайта на наличие устаревших библиотек, проблемы с макетами и доступность
  • Загрузите бесплатные виртуальные машины для Mac, Linux и Windows
  • Проверка статуса веб-платформы в браузерах, включая дорожную карту Microsoft Edge
  • Удаленный тест для Microsoft Edge на вашем собственном устройстве

Более глубокое обучение наших инженеров и евангелистов:

  • Рекомендации по оптимальной совместимости (серия):
    • Как избежать обнаружения браузера
    • Использование передовых методов префикса CSS
    • Обновление ваших фреймворков и библиотек JS
    • Создание плагина бесплатного веб-опыта
  • Лаборатория кодирования GitHub: Кроссбраузерные тесты и лучшие практики
  • Woah, я могу проверить Edge & IE на Mac и Linux! (из Рей Банго)
  • Продвижение JavaScript без выхода из Интернета (от Christian Heilmann)
  • Выпустить 3D-рендеринг с помощью WebGL (от Дэвида Катухе)
  • Хостинг веб-приложений и инноваций в веб-платформе (от Кирилла Сексенова)

Наши проекты с открытым исходным кодом нашего сообщества:

  • ворлонец. JS (дистанционное тестирование на JavaScript)
  • multipleJS (развертывание межплатформенных веб-приложений)
  • babylonJS (3D-графика сделана легко)

Больше бесплатных инструментов и back-end web dev stuff:

  • Код Visual Studio (легкий редактор кода для Mac, Linux или Windows)
  • Visual Studio Dev Essentials (бесплатное обучение на основе подписки и преимущества облачных вычислений)
  • Код с узлом. JS с пробной версией Azure Cloud

February 28, 2018