react+redux热更新时 redux警告不支持store热更新

发布于 2022-09-11 21:41:26 字数 976 浏览 16 评论 0

按照GitHub中issue中的介绍 redux2.0后将不支持热更新,兼容方案是使用replaceReducer的方式,照着做后,状态确实可以保存,但控制台依然报错,而且仅在第一次hrm的时候报错,后面再hrm的时候不在报错了,请问如何使第一次也不报警告呢?

报错信息:

<Provider> does not support changing `store` on the fly. It is most likely that you see this error because you updated to Redux 2.x and React Redux 2.x which no longer hot reload reducers automatically. See https://github.com/reduxjs/react-redux/releases/tag/v2.0.0 for the migration instructions.```

const store = createStore(

  connectRouter(history)(makeRootReducer()),
  preloadedState,
  composeEnhancers(applyMiddleware(...middlewares)),

);

store.asyncReducers = {}
if (module.hot) {

// Enable Webpack hot module replacement for reducers
module.hot.accept("./reducers", () => {
  const nextRootReducer = require("./reducers").default;
  store.replaceReducer(nextRootReducer(store.asyncReducers));
});

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文