这个 Sagas 观察者有什么区别:
export function* authWatcher() {
yield [
takeLatest(GET_USER_START, getUser),
takeLatest(EDIT_USER_START, editUser),
takeLatest(FORGOT_PASSWORD_START, forgotPassword),
takeLatest(LOGOUT_START, logout)
];
}
和:
export function* authWatcher() {
yield fork(takeLatest, GET_USER_START, getUser);
yield fork(takeLatest, EDIT_USER_START, editUser);
yield fork(takeLatest, FORGOT_PASSWORD_START, forgotPassword);
yield fork(takeLatest, LOGOUT_START, logout);
}
起初,他们也是这样做的,但我不知道哪种方法最好。有没有更好的办法?
我看到的另一件事是 takeLatest 似乎不起作用。但是不知道有没有关系。
最佳答案
takeEvery
和 takeLatest
已经在内部使用了 fork
,因此没有必要将它包装在另一个 fork 中。
产生一系列效果在较新的 redux-saga 版本中已被弃用。请改用 all
效果。
export function* authWatcher() {
yield all([
takeLatest(GET_USER_START, getUser),
takeLatest(EDIT_USER_START, editUser),
takeLatest(FORGOT_PASSWORD_START, forgotPassword),
takeLatest(LOGOUT_START, logout)
]);
}
关于javascript - Redux Saga 观察者差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51065796/