Что лучше выбрать для React.js приложения: Flux, Reflux, Redux?
Здравствуйте.
Такой вот вопрос: как вы считаете, какую архитектуру лучше выбрать или даже не так.
В чем плюсы и минусы таких архитектуры, как Flux, Reflux, Redux?
К примеру, Reflux в отличии от Flux, не имеет диспетчеров, но если я не ошибаюсь, а если ошибаюсь, то прошу поправить меня, в нем проблематично писать на ES6/7, так как в новых версиях react не использует миксины, от них отказались, поэтому приходится устанавливать сторонние библиотеки или как-то обходить этот момент.
Про Redux в свою очередь не знаю нечего, кроме того, что на гитхабе у него больше всего звезд, чем Flux и Reflux, а мне кажется, это что-то да значит.
Уверен, кто-то сталкивался с подобным вопросом при разработке на React.js.
Спасибо за помощь и ваше время.
если я Вам сейчас скажу что Redux просто великолепен и Вы добавите ещё одну звезду на github, то что это будет значить? Что Вы прям ваще жесткий программист чтоль, который посовещавшись с избранными коллегами на тостере склонились к его выбору?
Смотря какой нужен функционал у приложения.
Сам работаю в связке React-Redux и все никак не нарадуюсь.
Если правильно построить логику приложения, то его развертка получается очень реактивной и быстрой как в плане работы, так и в плане разработки продукта.
"Redux in russian" - перевод документации на русский, все доходчиво описано.
Плюсы редакса в том, что он построен в функциональных парадигмах, как и реакт. При этом отлично работает с react-native. API очень маленькое, по факту почти ни один из моих компонентов ничего не знает о редаксе - просто принимает на вход нужные props.
чтобы ты мог наслаждаться вкусом краба когда заполняшь поля и при нажатии на кнопку данные сохраняются в базе данных, вкус краба поможет тебе сделать, чтобы данные не выводились новые а перезаписывались существующие, как это сделать подскажет вкус краба чипсы lays со вкусом краба
copal: Я не скажу что это минус, но все таки. Поддержка универсальности достигается сторонней либой, а не ядром reflux. Плюс по своему опыту reflux я пришел к модели как раз, как в redux, поэтому считаю для себя его эволюционной заменой reflux. Плюс redux как верно заметил Никита в очень хорошей изоляции.
Я тоже был сторонником Redux пока не узнал про Baobab и курсоры. После этого Redux в моих глазах как-то резко побледнел.
Baobab - персистентное иммутабельное дерево с поддержкой курсоров. Вот пример его интеграции с React. Эта штука пока конечно не мейнстрим, но чувствую у неё большое будущее.
Что вы используете в качестве Диспетчера? Напр., компонент инициирует асинхронный вызов. Обработчик нажатия на кнопку выводит прелоадер, выполняет вызов. Где лучше разместить обработку его коллбэка – в этом же компоненте или в отдельном диспетчере?
Сергей Соколов: в baobab-react нет диспетчера. Описанные вами действия производятся в baobab-action которые являются по сути аналогами редьюсеров в Redux.