【发布时间】:2023-09-15 16:39:01
【问题描述】:
以下是我的 redux-saga 生成器
export function* toggleMenu(payload) {
let transitionDuration;
let { status } = payload;
if (!status) {
transitionDuration = 500;
yield put({ type:types.TOGGLE_MENU, status: 'transitioning' });
} else {
transitionDuration = 0;
}
yield delay(transitionDuration);
yield put({ type:types.TOGGLE_MENU, status });
}
我正在尝试复制之前在 redux-thunk 上使用过的此功能,但我正在尝试尝试使用 redux-saga。下面是我之前的 redux-thunk 函数
export const toggleMenu = status => {
let transitionDuration;
return dispatch => {
if (!status) {
transitionDuration = 500;
dispatch(menu('transitioning'));
} else {
transitionDuration = 0;
}
setTimeout(() => {
dispatch(menu(status));
}, transitionDuration);
};
};
我现在遇到的问题是 redux-saga 在调度“转换”之后似乎无法同步处理任务,然后在延迟内进行另一个具有相同操作的调度。我在 takeEvery 函数上监视了我的任务。提前致谢!
【问题讨论】:
标签: reactjs redux redux-thunk redux-saga