javascript - react DVA JS 框架 : Reset entire state application

标签 javascript reactjs redux antd

我在 React 项目中使用 DVA JS 框架 ( https://github.com/dvajs/dva )。
我在此 Web 应用程序中有登录/注销功能。

问题:
当我注销时,状态保持不变。我需要在不刷新页面的情况下重置整个状态。

有没有办法在 DVA 框架中做到这一点?

在 DVA 文档 ( https://github.com/dvajs/dva/blob/master/docs/API.md ) 中,有许多方法可以访问应用程序中的不同内容。

const app = dva({
  initialState,
  onAction,
  onStateChange,
  onReducer,
  onEffect,
});

有没有办法重置这些配置中的状态?

最佳答案

您如何退出?使用 dva 您需要使用模型来执行此操作,以触发“效果”传奇。然后您可以触发状态更改以重置您需要的值。例如:

...
effects {
  *logout({ payload }, { call, put }) {
    const confirmation = yield call(logout, {});
    if (confirmation.success) {
      yield put({ type: 'resetToDefaults' });
    } else {
      throw (confirmation);
    }
  },
},
reducers {
  resetToDefaults(state) {
    return {
      ...state,
      //Modify your required entries to the default values
    };
  },
}

关于javascript - react DVA JS 框架 : Reset entire state application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46587255/

相关文章:

javascript - 如何仅在工作时间增加计数器?

javascript - 保留 Accordion 和扩展表行的状态

reactjs - 测试 React Redux - 无法读取未定义的属性或未定义的包装器

javascript - 终极版。将状态值传递给 reducer

javascript - 在异步回调函数生成的错误上使用 try catch

javascript - 从 javascript 中的 php 文件调用函数

javascript - 如何将事件处理程序传递给兄弟组件?

javascript - 连接 Express 和 React 应用程序

javascript - react 终极版 : Problem with passing props and dispatch from container to component

JavaScript 和 IE7 - 为什么我的 *.onload = function() { } 不会触发?