Ma racine de saga ressemble à ceci
export default function* root() {
yield takeLatest(LOAD_SEARCHRESULTS, getSearchResults);
}
il observe l'action LOAD_SEARCHRESULTS puis appelle la fonction getSearchResults.
Existe-t-il un moyen de regarder plusieurs actions en root? Quelque chose comme ça:
export default function* root() {
yield takeLatest(LOAD_SEARCHRESULTS, getSearchResults);
yield takeLatest(CHANGE_ALIASFILTER, getSearchResults);
yield takeLatest(CHANGE_CATFILTER, getSearchResults);
}
Donc, si l'une de ces actions intervient - elle appelle getSearchResults. J'ai essayé de donner tout ([]) et takeEvery mais il ne surveille que la première action.
takeLatest peut également effectuer un tableau d'actions, il vous suffit donc de faire
export default function* root() {
yield takeLatest([LOAD_SEARCHRESULTS, CHANGE_ALIASFILTER, CHANGE_CATFILTER], getSearchResults);
}
Une autre option consiste à utiliser all
et fork
, comme ici