что я использую для модели и контроллера с React от Facebook и ES6

0

Я - noob в реакции /es6 stack/framework. Я ранее развивался в Backbone/Marionette.js и недавно начал читать больше о ES6 и React. Учитывая мой опыт, я привык иметь Backbone для модели и контроллера (MC of MVC pattern). Я слышал, как люди использовали реакцию с Backbone/Ember/Angular. Каковы ваши впечатления и каковы различные модели, которые сейчас имеют тенденцию в этой области. Я очень признателен, если вы поделитесь своими впечатлениями и мыслями. Заранее спасибо!

  • 0
    Вы, вероятно, хотите посмотреть на поток
  • 0
    Возможный дубликат React V, как насчет M и C?
Теги:
ecmascript-6
backbone.js

1 ответ

4
Лучший ответ

Facebook предложил архитектуру Flux как способ передачи данных в одностороннем порядке в ваши компоненты React. Идея состоит в том, что у вас есть отдельный контейнер (часто называемый "магазином") для всех ваших данных. Вы регистрируете действия, которые запускаются через диспетчер, и изменяют ваши данные, а затем заставляют компоненты вашего просмотра обновляться.

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

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

Из README:

Все состояние вашего приложения хранится в дереве объектов внутри одного хранилища.

Единственный способ изменить дерево состояний - это исправить действие, объект, описывающий, что произошло.

Чтобы указать, как действия преобразуют дерево состояний, вы пишете чистые редукторы.

Таким образом, это не совсем парадигма MVC, но в сочетании с React у вас есть цепочка событий, когда пользователь запускает какое-то действие, которое изменяет данные и обновляет представление.

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

  • 1
    Я могу говорить только за Redux, но это определенно стоит посмотреть. Поскольку вы пишете функции редуктора как чистые функции (без побочных эффектов, просто возвращаете новый экземпляр состояния), вы получаете бесплатные вещи, такие как отладка во время путешествия (отмена / повтор), горячая перезагрузка (живые обновления) и возможность сериализации все ваше состояние приложения. merrickchristensen.com/articles/single-state-tree.html

Ещё вопросы

Сообщество Overcoder
Наверх
Меню