Очередная статья, которая, возможно, так и останется в черновиках, но если вы это читаете, то все-таки это свершилось.
К написанию статьи послужил опыт с Redux
, который показал, что в нашем проекте он оказался лишним. Благо, архитектура проекта позволяет производить манипуляции по внедрению и извлечению архитектурных подходов.
Долгое время и огромное количество человек я расспрашивал про то, как они используют Redux
и всегда удивлялся. Почему-то эта опьяняющая очевидность ко мне пришла далеко спустя время, хотя я имею опыт в написании приложений под Android
, где никакого Redux
нет.
Вся проблема в том, что никто не объясняет зачем нужен и когда нужен Redux
, пока ты не наступил на эти грабли спустя время. К примеру, в нашем проекте Redux
оправдывает себя только в нескольких местах, остальное можно реализовать тупо на Dumb & Smart Components
. И в тех самых местах, где он оправдан, я бы также его убрал и использовал события. Если в приложении мало сепаратных частей, которые друг на друге могли бы быть зависимы, то это маловыгодная вещь. Отсюда и появляются всякие оптимизационные костыли (reselect
, например). Но люди, почему-то, не решаются подумать своей головой. И сейчас я вам поведаю сказ о том, какие еще есть варианты помимо Redux
.
Читать полностью »