Я хотел бы отправить действие после того, как первое было обработано редукторами.
Вот мой вариант использования. Мой компонент позволяет пользователю выбирать список заметок (этот список хранится в редукции). Исходя из некоторых действий пользователя, в этом списке можно выбрать случайную заметку и сохранить ее в магазине.
На снимке экрана вы видите кнопки. «Выбрать все» и «Отменить выбор всех» действуют в списке возможных заметок. «Пуск» выберите заметку из списка.
У меня возникла проблема с «кнопкой сброса». Предполагается, что в цепочке «выбрать все» и «начать», и я не знаю, как это сделать. Я попытался наивно:
const reset = function () {
dispatch(selectAll());
dispatch(pickANote());
}
В этом примере я столкнулся с проблемой гонки данных. Второе действие - выбрать заметку из списка обновленных заметок.
Копая inte rnet, я обнаружил только случаи цепочки действий, основанные на вызовах API с избыточным thunk. У меня проблема в том, что я не знаю, как что-то инициировать при обработке действия (что очевидно при вызове API)
Итак, есть 3 решения:
- Я упускаю что-то очевидное
- Я иду туда, куда раньше ни один человек не шел
- Я делаю что-то против паттерна
Любая помощь приветствуется.