React is a JavaScript library for building user interfaces.
[react, reactjs, react native, flux, relay, graphql]
React - javascript библиотека от Facebook, стремительно набирающая популярность среди разработчиков пользовательских веб-интерфейсов...
React предлагает концептуально новый подход к разработке UI, в основе которого лежи one-way-binding концепция (one-way reactive data flow). В отличии от технологий с двухсторонним потоком данных, которые вообще-то являются гибким решением при проектировании интерфейсов, one-way binding позволяет приложению иметь более простые и очевидные связи между интерактивными элементами интерфейса, тем самым помогая разработчикам избежать непроизвольного написания так называемого говнокода, когда компоненты интерфейса беспорядочно устанавливают связи друг с другом, что в последствии затрудняет изменение существующего и внедрение нового функционала в приложение.
Суть React можно описать следующим образом. К примеру (грубо): имеется массив данных с некоторой глубиной вложенности на основании которого строится дерево элементов страницы. Далее, в случае если какая-то часть данных внутри массива претерпевает изменения, React находит те элементы страницы, которые нуждаются в изменении и отрисовывает элементы заново согласно новым данным. Таким образом данные бескомпромиссно превалируют над отображением. Разработчик может не переживать о том, что что-то может пойти не так и DOM "случайно" поломается. Это безопасно. React позволяет разработчику не оперировать более с элементами DOM, вместо этого он работает с данными.
Одной из ключевых технологий React'а является его шикарный Diff-алгоритм гарантирующий контакт (изменение) лишь с минимально-необходимым набором элементов DOM, при изменении некоторой части из данных находящих свое представление на странице. Именно это делает React таким быстрым. Для достижения этой цели Diff-алгоритм использует так называемое виртуальное DOM-дерево, которое компилируется заново при любом изменении данных. При этом, количество элементов в DOM не влияет на производительность.
React поддерживает элегантный HTML-подобный синтаксис (в некотором роде шаблонизатор) носящий название JSX, который помогает описывать представление данных. По мнению разработчиков, разметка и код генерирующий и управляющий ею тесно связаны друг с другом и лучшим решением будет размещение их в одном компоненте, неподалеку друг от друга. JSX прекрасно вписывается в javascript код и позволяет использовать всю мощь языка при написании шаблонов. Его не нужно изучать специально, так как синтаксис JSX по сути является смесью HTML и нативного javascript. На его фоне библиотеки подобные Angular с директивами вроде Link, Compile и Scope, выглядят по меньшей мере нелепо. Однако, и сам JSX по мнению особенно рьяных и фанатичных сторонников MVC зачастую воспринимается как нелепое решение, что на самом деле является весьма грустным и печальным случаем.
Страна: |
нет данных |
Город: |
нет данных |
Тип группы: |
Открытая группа |
Членство в группе: |
Доступно всем |
Возрастные ограничения: |
нет |
Количество подписчиков: |
17 808 |
Ссылка на соц.сеть: |
reactjs |
Статус: |
https://t.me/javascriptv - наш теоеграм канал о Javascript |
У сообщества «React - JavaScript library for building UI» также имеются еще 20 участников и подписчиков в социальных сетях.
Правовая информация
Представленная здесь информация получена из общедоступного открытого источника.
За достоверность информации сайт ответственность не несет.
Если вы администратор группы «React - JavaScript library for building UI» или являетесь его законным представителем, вы можете удалить эту страницу