Redux存储在刷新浏览器时不会刷新(清除)

时间:2019-05-20 14:38:18

标签: javascript reactjs redux react-redux

我的商店在F5ctrl+r上没有刷新(清除),如何解决此问题?我可以看到在某些情况下保持状态刷新是有益的,但这不适用于我的情况。这是由于本地存储还是Redux的预期行为?

这是当前商店设置:

const composeEnhancers =
  typeof window === 'object' &&
  (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
    ? (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({
        serialize: true,
        latency: 0
      })
    : compose;

const createStoreWithApi = (api: IApi, initialState?: {})  => {
  const middlewares = [
    thunkMiddleware.withExtraArgument({
      api
    })
  ];
  const enhancer = composeEnhancers(applyMiddleware(...middlewares));
  return createStore(rootReducer, initialState!, enhancer);
};

编辑:

通过评论解决了此问题。我添加了features: {persist: false} 因为persist: true, // persist states on page reloading是redux-devtools-extension中的默认行为。


 (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({ serialize: true, latency: 0, features: {persist: false} })

2 个答案:

答案 0 :(得分:0)

我可以想到2种选择:

  • 您正在使用redux-persist库(或其他将状态保存到localStorage或cookie中的库)
  • 服务器端有一些同步过程

答案 1 :(得分:0)

尝试手动清除本地存储。然后检查项目的行为。 您还可以将存储保存到本地存储而不必保留Redux,这就是为什么您应该检查App.js中调用的函数的原因