Как разделить код работы с состоянием приложения?

Друзья,

По Redux есть одна мысль.

По мере роста приложения у нас будет скапливаться очень много редьюсеров, и базово их нужно загружать сразу все при создании стора. Если редьюсер нужен только для пары компонентов, которые используются только в одном загружаемом роуте, который юзер может вообще не открыть, нет смысла тащить его в первичный бандл и загружать сразу. Кроме того, загружая всё больше редьюсеров, производительность будет падать.

Получается, нам нужно привязывать action'ы и редьюсеры только к компонентам, а не выносить их в общий список и грузить все сразу. Из коробки у Redux есть только одна штука, это replaceReducer, который дает возможность замены рутового редьюсера на новый, например, после загрузки нужного компонента, и это дает возможность создать нужное нам поведение.

Должны быть инструменты, потому что это самая базовая фича при разработке крупных приложений, но в интернете шаром покати. Нашел https://github.com/ioof-holdings/redux-dynostore и https://github.com/Microsoft/redux-dynamic-modules, но как-то оно совсем не алё, поддержки никакой, документации никакой, и судя по исходнику, это не совсем то, что нужно.

Как вы эту задачу решаете?
Что-то используете, или сами пишете решение?
  • Вопрос задан
  • 149 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы