我在 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/