Pull to refresh

Comments 20

UFO just landed and posted this here
Как сделать жизнь Redux разработчика проще? Просто не использовать его
Золотые слова. Вспоминаю как страшный сон эти тонны повторяющегося кода. Особенно доставляют константа на константе и спагетти из функций, которые аргументы функций, являющихся аргументами функций и т.д. по схеме. Как будто код какой-нибудь CMS из 2005 года.
Пока mobx, пока ок, если подумать над архитектурой прежде, чем начать писать :) Но кода стало меньше, появилось какое-никакое ООП, typescript опять же сильно помогает, уже почти можно жить :)
mobx нет, но попытки писать в ооп-стиле с redux это пытка.
Правильно, потому что redux совсем не про ооп.
Вспоминаю как страшный сон эти тонны повторяющегося кода
А можете пример, что у вас там так повторялось? Быть может, дело в том коде, а не в redux?
Особенно доставляют константа на константе
А что не так с константами?
которые аргументы функций, являющихся аргументами функций и т.д. по схеме
И что не так с ФВП?
Я не хочу вступать в полемику, просто на проекте в ~25k строк кода со значительным кол-вом запросов к api размер, поддерживаемость, читаемость кода начинают иметь особое значение, поэтому отказ от redux оказался верным решением. На простых примерах типа todo все выглядит прилично, но на реальных проектах появляются проблемы. Только личный опыт :)
Возможно из-за того, что redux не дает каких-либо внятных рекомендаций по архитектуре сервисного и доменного слоев, предоставляя лишь паттерн для организации внутреннего взаимодействия UI. То, что экшены могут быть thunk'ами или promise'ами — не более чем сильное допущение и упрощение. И когда проект начинает разрастаться, становится понятно, что серьезному IO/эффектам не место ни в редьюсерах, ни в экшенах, ни вообще в redux, так как это не его задача (хоть redux и предоставляет возможность вставки middleware).

Рекомендую посмотреть на redux-saga и redux-observable. Обе решают наболевшую проблему толстых экшенов с кучей копипасты, расширяемости и поддерживаемости. Саги только в качестве бонуса предоставляют тестируемость без каких-либо моков.
И как только люди не изворачиваются, лишь бы не писать return.
UFO just landed and posted this here
уж лучше тогда redux-observable куда лучше саг
Зачем использовать редюкс если есть alt?
Sign up to leave a comment.

Articles