Redux Saga 观看多重动作
Redux Saga Watch Multiple Action
我的 Saga Root 看起来像这样
export default function* root() {
yield takeLatest(LOAD_SEARCHRESULTS, getSearchResults);
}
它监视 LOAD_SEARCHRESULTS 操作,然后调用 getSearchResults 函数。
有什么方法可以在 root 中观看多个操作?
像这样:
export default function* root() {
yield takeLatest(LOAD_SEARCHRESULTS, getSearchResults);
yield takeLatest(CHANGE_ALIASFILTER, getSearchResults);
yield takeLatest(CHANGE_CATFILTER, getSearchResults);
}
因此,如果出现任何这些操作 - 它会调用 getSearchResults。我试过 yield all([]) 和 takeEvery 但它只监视第一个动作。
takeLatest也可以采取一系列的动作,所以你只需要做
export default function* root() {
yield takeLatest([LOAD_SEARCHRESULTS, CHANGE_ALIASFILTER, CHANGE_CATFILTER], getSearchResults);
}
另一种选择是使用 all
和 fork
,例如 here
我的 Saga Root 看起来像这样
export default function* root() {
yield takeLatest(LOAD_SEARCHRESULTS, getSearchResults);
}
它监视 LOAD_SEARCHRESULTS 操作,然后调用 getSearchResults 函数。
有什么方法可以在 root 中观看多个操作? 像这样:
export default function* root() {
yield takeLatest(LOAD_SEARCHRESULTS, getSearchResults);
yield takeLatest(CHANGE_ALIASFILTER, getSearchResults);
yield takeLatest(CHANGE_CATFILTER, getSearchResults);
}
因此,如果出现任何这些操作 - 它会调用 getSearchResults。我试过 yield all([]) 和 takeEvery 但它只监视第一个动作。
takeLatest也可以采取一系列的动作,所以你只需要做
export default function* root() {
yield takeLatest([LOAD_SEARCHRESULTS, CHANGE_ALIASFILTER, CHANGE_CATFILTER], getSearchResults);
}
另一种选择是使用 all
和 fork
,例如 here