Как выстроить коммуникацию между редьюсерами, и стоит ли?

Доброй ночи.
Есть срез состояния (один редьюсер), в котором хранится список сущностей от API, флаг isLoading и заодно данные по поиску: фильтр и результаты. Я бы хотел разбить это на несколько слайсов, чтобы в одном были строго данные, в другом - строго фильтр, в третьем - строго поиск, но начав это делать, столкнулся со сложностями.

Согласно концепции, редьюсер должен управлять только своим срезом состояния. То есть, по существу, я могу вызывать один редьюсер из другого, но это странно, и redux-toolkit сам по себе выстроен так, чтобы подобное было неестественно.

Как быть? Сделать higher-order reducer, который бы включал в себя объединение вышеуказанных редьюсеров? Или лучше все-таки оставить один большой редьюсер?

Заранее спасибо.
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Che603000
c 2011 javascript
я могу вызывать один редьюсер из другого

Не надо).
action поступает на каждый reducer в store. .
Каждый reducer по своему реагирует на один и тот же action и анализирую
payload устанавливает свой state

Ток что один редюсер выбирает из полезной нагрузки данные, другой фильтр, итп.
Ответ написан
GreyCrew
@GreyCrew
Full-stack developer
Думай "модельно".
т.е. у тебя есть один функционал, который реагирует на все запосы.
Я бы отрефакторил и перевел все запросы в мидлвары и сделал для них несколько экшнов, типа API_REQUEST, API_SUCCESS, API_ABORT, API_FAIL и т.д.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы