首页 > 解决方案 > Redux 即时更新,但 react 组件有异步延迟

问题描述

我的组件有一个复选框,单击该复选框会触发 this.props.toggleChange 动作创建者。在 toggleChange 动作创建器中,它将调度一个 TOGGLE_CONFIG_CHANGE,它被 Redux Saga 拾取。saga 函数的内部如下所示:

export function* toggledConfigSaga () {
    yield put(toggleConfigClicked()); // this fires off TOGGLE_CONFIG_CLICKED
    yield put(saveAllCurrentConfigsAndFetchServerStuff()); // this function will throw up a spinner as asynch actions complete
}

在我的减速机中,我有CASE types.TOGGLE_CONFIG_CLICKED: return {...state, toggleConfig: !state.configChecked};. 在 redux 开发工具和控制台日志中,configClicked 布尔值在复选框单击时立即更改(正如人们所期望的那样)。但是,在异步操作完成之前,复选标记不会切换,给人一种滞后按钮的错觉。是什么赋予了?

标签: reactjsreduxredux-saga

解决方案


推荐阅读