У меня есть приложение React / Redux, и я решил разделить состояние Redux на 2 основных раздела: реклама и задачи, и я использую комбинироватьReducers.
Объявления создаются в первую очередь. Одно объявление или набор объявлений можно сгруппировать и назначить для новой задачи.
В моем рекламном магазине есть редукторы и саги, которые выполняют вызовы API, связанные с рекламой, и обновляют состояние Redux для рекламы.
В моем хранилище задач есть редукторы и саги, которые делают вызовы API, относящиеся к задачам, и обновляют состояние Redux для задач.
Когда задача создается из коллекции объявлений, мне нужно обновить состояние Ads Redux. Первоначально я только что отправил своего создателя рекламных действий, который делает вызов API и получает обновленный список всех объявлений. К сожалению, этот вызов API является очень сложным запросом и в результате довольно трудоемким.
Когда я выполняю вызов API для создания задачи, я получаю обратно некоторые данные, которые я могу использовать для обновления состояния Redux объявлений, избегая необходимости выполнять этот медленный вызов API.
Поскольку для создания задачи могут использоваться несколько объявлений, мои идентификаторы хранятся в массиве.
Я пытаюсь выяснить, как я могу пройти через этот массив и отправить редуктор в магазин рекламы Redux, чтобы обновить состояние с этими данными.
Одна проблема, с которой я столкнулся, - это ошибка, указывающая на то, что yield не может быть вызван из цикла forEach, который я использовал для перебора массива идентификаторов объявлений.
Другая проблема заключается в поиске лучшего способа обновления состояния из одного хранилища Redux в другом.
Полагаю, я мог бы просто объединить все в одном хранилище Redux, но этот файл был бы бесконечно длинным.
Не уверен, в каком направлении идти.