Эй, ребята! Менее опытный (3 года), но полный энтузиазма и продолжающий учиться разработчик здесь (знаю, крутое вступление)

Уууу…….
Если вы хотите знать или Если вы все еще застряли с вопросом (после такого большого бума.), почему я должен выбрать ReactJS или чувствую, в чем польза от его использования или «бла-бла-бла», тогда идите и читайте.

Если вы работали с какими-то старыми интерфейсными фреймворками JS или какими-то сложными фреймворками (не жалко, приятель, я не настолько гений, чтобы работать со всеми), когда вы войдете в мир реагирования, вы почувствуете себя «Ура, здесь все круто, ха». Я знаю, что до сих пор было много утверждений «если». Ладно, давайте разбираться.

Я работал в BackboneJs последние полтора года (клиент настаивает), на тот момент вроде все было нормально. Как вы знаете, Backbone — это совместимая MVC-инфраструктура, и она зависит только от одной библиотеки для запуска — Underscore.js, а в самом простом и удобном формате код Backbone.js занимает всего около 7,6 КБ (v 1.3.3) его очень легкий вес. Кажется, круто. Правильно? , я тоже чувствую то же самое, но самая большая головная боль с vanilla Backbone заключается в том, что как только вы начинаете вкладывать Backbone.View объекты, вы в основном сами по себе в отношении управления жизненным циклом иерархии представлений.

Для каждого подпредставления вы должны помнить: а) разорвать его, б) уважать его внутреннее состояние, когда его родитель #render'd. Вы часто будете сталкиваться с таким кодом, если не более сложным:

Такие библиотеки, как Backbone.Marionette, предлагают больше абстракций, упрощающих вложение представлений, но все они ограничены тем фактом, что Backbone делегирует, как и когда происходит присоединение представления к коду приложения.

то есть, когда мы хотим создать какой-то сложный пользовательский интерфейс, тогда вы один! Я настоящий мужчина, Его «взгляды» толком ничего не предлагают. Также иногда он зависит от механизмов рендеринга (Underscore.js), которые могут ограничивать функциональность.

Это не конец, обновления DOM действительно зависят от некоторых событий DOM, таких как щелчок, размытие и т. д., в соответствии с которыми нам приходится вручную обрабатывать Jquery для обновления элементов.

В целом это не обеспечивает правильный жизненный цикл, мы должны делать все сами. Как я уже говорил вам, это заставит вас почувствовать, что «ТЫ ОДИН».

После этого я работал над ReactJS, я понимаю, что React скажет дизайну пользовательского интерфейса, например: «О, ТЫ ГЛУПЫЙ ИНТЕРФЕЙС, ТЫ ДУМАЕШЬ, Я НЕ МОГУ ОБРАЩАТЬСЯ С ТЕБЯМИ? AHUHH»
Самое важное, что говорится в самой документации React, это то, что это библиотека JavaScript для создания пользовательских интерфейсов. Давайте разделим предложение на две части.

  1. React — это библиотека JavaScript. Это не фреймворк. Это V-часть MVC.
  2. Что React делает действительно хорошо, так это вторую часть: создание пользовательских интерфейсов. На самом деле, если вы знаете JS, мы можем сделать это круто.

Наиболее важными достижениями React являются акцент на компонентах, односторонний поток данных, Virtual DOM, JSX и архитектура, выходящая за рамки HTML.

Главный вклад React — концепция виртуального DOM. Это означает, что как и настоящий DOM, Virtual DOM представляет собой дерево узлов, в котором перечислены элементы, их атрибуты и содержимое в виде объектов и свойств. Метод React render() создает дерево узлов из компонентов React и обновляет это дерево в ответ на изменения в модели данных, вызванные действиями. Это потрясающе. Правильно?

В React каждая страница представляет собой набор компонентов. Таким образом, повторное использование и масштабируемость слишком высоки. Полный компонент React может иметь приватное состояние для хранения данных, которые могут меняться со временем.

Вернемся к нашему предыдущему примеру кода. В реакции этот код будет выглядеть так, поскольку реакция не будет раскрывать узлы. Я не использую здесь JSX.

Теперь код очистки нашего AvatarView будет вызываться автоматически, а последующие вызовы ProfileView#render будут интеллектуально различаться для обновления DOM при необходимости. Другими словами, меньше утечек памяти и более быстрые интерфейсы.

Теперь перейдем к JSX. Он гораздо более удобочитаем, так что каждый код, который мы пишем, будет понятен, когда мы вернемся из будущего, чтобы посмотреть.

Потом врожденные навыки ОТЛАДКИ, которые реагируют. Это немного облегчает жизнь разработчику. Снова БОЛЬШАЯ РАБОТА РЕАГИРОВАТЬ!

Чтобы убедиться, что даже небольшие изменения, происходящие в дочерних структурах, не повлияют на их родительские структуры, ReactJS использует только нисходящий поток данных. Изменяя объект, разработчики просто модифицируют его состояние, вносят изменения, после чего будут обновляться только отдельные компоненты. Такая структура привязки данных обеспечивает стабильность кода и постоянную производительность приложения. СТАБИЛЬНЫЙ КОД.

React обладает множеством преимуществ, но в любом случае ЭТО НЕ ПОЛНАЯ ТЯЖЕЛАЯ РАМКА, такая как angular и все такое. Это простая библиотека VIEW.

КОНЕЦ ПРИМЕЧАНИЕ:

Когда я работал в обоих, я хорошо понял, что у REACT есть свои ПРОТИВ, такие как:

  • Кривая обучения. Поскольку это не полнофункциональный фреймворк, требуются глубокие знания для интеграции бесплатной библиотеки пользовательского интерфейса в фреймворк MVC.
  • Ориентированность на просмотр — один из минусов ReactJS. Необходимо найти «Модель» и «Контроллер», чтобы решить проблему «Вид».
  • Неиспользование изоморфного подхода к эксплуатации приложения приводит к проблемам с индексацией поисковыми системами.
  • Большая библиотека React.

Как и у этого Backbone, есть свои ПРЕИМУЩЕСТВА, такие как размер, связь событий, шаблон модуля и т. д.

Но сравнение плюсов, минусов и удовлетворенности разработчиков React будет на несколько шагов вперед.

И, наконец, Я ЛЮБЛЮ ВАШУ РЕАКЦИЮ!