Как выстроить коммуникацию между редьюсерами, и стоит ли?
Доброй ночи.
Есть срез состояния (один редьюсер), в котором хранится список сущностей от API, флаг isLoading и заодно данные по поиску: фильтр и результаты. Я бы хотел разбить это на несколько слайсов, чтобы в одном были строго данные, в другом - строго фильтр, в третьем - строго поиск, но начав это делать, столкнулся со сложностями.
Согласно концепции, редьюсер должен управлять только своим срезом состояния. То есть, по существу, я могу вызывать один редьюсер из другого, но это странно, и redux-toolkit сам по себе выстроен так, чтобы подобное было неестественно.
Как быть? Сделать higher-order reducer, который бы включал в себя объединение вышеуказанных редьюсеров? Или лучше все-таки оставить один большой редьюсер?
Не надо).
action поступает на каждый reducer в store. .
Каждый reducer по своему реагирует на один и тот же action и анализирую payload устанавливает свой state
Ток что один редюсер выбирает из полезной нагрузки данные, другой фильтр, итп.
Думай "модельно".
т.е. у тебя есть один функционал, который реагирует на все запосы.
Я бы отрефакторил и перевел все запросы в мидлвары и сделал для них несколько экшнов, типа API_REQUEST, API_SUCCESS, API_ABORT, API_FAIL и т.д.