А вот по поводу качественного разделения: я постепенно перехожу на effector. Где есть и полноценный дебаг и статическое вычисление зависимых сторов, и красивое API, и отстутствие проблемы ромбовидных зависимостей.
Разбить на слои, где с каждым слоем работала бы команда.
Вообще нет проблем разбить на слои.
В данном случае redux-symbiote позволяет уменьшить количество кода, повысить читабельность и структурировать часть архитектуры redux.
У нас все проекты послойные:
— стор (redux)
— что и как сделать со стором redux-symbiote,
— представление: глупые компоненты, контейнеры (модули), селекторы данных (как раз группируют данные для контейнеров из разных частей стора),
— бизнес логика — redux-saga,
— апи и сервисы с возможностью моков.
Уже проектов 10+ с использованием redux разработано — проблем не возникает.
Абсолютно не понимаю зачем этот холивар глобальный стор vs распределенный. Статья не об этом. Каждый выбирает инструмент по необходимости.
Сразу оговорюсь, что статья не об архитектуре в целом, а только об инструменте, который позволяет уменьшить количество кода, повысить читабельность и структурировать часть архитектуры redux.
Не считаю, что глобальный стор или несколько распределенных, а также вызов напрямую методов или через дополнительную инфраструктуру это плохо или хорошо. Каждый использует при разработке, что ему удобнее и подходит для реализации.
Архитектура redux неплохо описана в документации и легко бьется на слои:
— стор отдельно, что и как сделать со стором отдельно,
— представление: глупые компоненты, контейнеры, селекторы данных,
— для перехвата действий и последующего комбинирования действий над стором (и не только), например, redux-saga.
Все это можно легко передавать между проектами и тестировать.
Идеального решения нет, как и ответа на все вопросы.
Было бы неплохо
Вообще нет проблем разбить на слои.
В данном случае redux-symbiote позволяет уменьшить количество кода, повысить читабельность и структурировать часть архитектуры redux.
У нас все проекты послойные:
— стор (redux)
— что и как сделать со стором redux-symbiote,
— представление: глупые компоненты, контейнеры (модули), селекторы данных (как раз группируют данные для контейнеров из разных частей стора),
— бизнес логика — redux-saga,
— апи и сервисы с возможностью моков.
Уже проектов 10+ с использованием redux разработано — проблем не возникает.
Абсолютно не понимаю зачем этот холивар глобальный стор vs распределенный. Статья не об этом. Каждый выбирает инструмент по необходимости.
github.com/sergeysova/redux-symbiote/blob/master/types/test.ts
Сразу оговорюсь, что статья не об архитектуре в целом, а только об инструменте, который позволяет уменьшить количество кода, повысить читабельность и структурировать часть архитектуры redux.
Не считаю, что глобальный стор или несколько распределенных, а также вызов напрямую методов или через дополнительную инфраструктуру это плохо или хорошо. Каждый использует при разработке, что ему удобнее и подходит для реализации.
Архитектура redux неплохо описана в документации и легко бьется на слои:
— стор отдельно, что и как сделать со стором отдельно,
— представление: глупые компоненты, контейнеры, селекторы данных,
— для перехвата действий и последующего комбинирования действий над стором (и не только), например, redux-saga.
Все это можно легко передавать между проектами и тестировать.
Идеального решения нет, как и ответа на все вопросы.