Redux Saga Watch Multiple Action - PullRequest
       24

Redux Saga Watch Multiple Action

0 голосов
/ 04 октября 2018

Мой Saga Root выглядит следующим образом

export default function* root() {
  yield takeLatest(LOAD_SEARCHRESULTS, getSearchResults);
}

, он наблюдает за действием LOAD_SEARCHRESULTS и затем вызывает функцию getSearchResults.

Можно ли как-нибудь наблюдать за несколькими действиями в корне?Примерно так:

export default function* root() {
  yield takeLatest(LOAD_SEARCHRESULTS, getSearchResults);
  yield takeLatest(CHANGE_ALIASFILTER, getSearchResults);
  yield takeLatest(CHANGE_CATFILTER, getSearchResults);
}

Так что, если какое-либо из этих действий вступает в силу - оно вызывает getSearchResults.Я попытался yield all ([]) и takeEvery, но он следит только за первым действием.

1 Ответ

0 голосов
/ 04 октября 2018

takeLatest также может выполнять множество действий, поэтому вам просто нужно сделать

export default function* root() {
  yield takeLatest([LOAD_SEARCHRESULTS, CHANGE_ALIASFILTER, CHANGE_CATFILTER], getSearchResults);
}

Другой вариант - использовать all и fork, например здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...