【问题标题】:Replicating the action on redux-thunk to redux-saga将 redux-thunk 上的操作复制到 redux-saga
【发布时间】: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


    【解决方案1】:

    好的,我找到了解决方案,我正在观看我正在调度的同一个动作,这让我陷入了循环。将我的操作类型更改为另一种,它按预期工作。

    【讨论】:

      最近更新 更多