我很难让我的减速器热插拔。
我正在使用 Webpack 和react-transform-hmr
. 有了这个,所有的 CSS 和组件在我保存时都是热加载的,但是当我尝试处理另一种类型的时候——最显着的是减速器——它会告诉我做一个完整的刷新。
我发现这是因为我需要明确地重新加载减速器并接受事件。我在我的以下代码中正在做的事情store.js
:
if(module.hot) {
module.hot.accept('./reducers/', () => {
const nextRootReducer = require('./reducers/index');
store.replaceReducer(nextRootReducer);
});
}
reducers/index
导出根减速器。
但是现在当我运行它时它仍然告诉我[HMR] Cannot check for update (Full reload needed
并且还说错误[HMR] TypeError: currentReducer is not a function
所以 - 我需要一些帮助才能让它发挥作用。该代码可在https://github.com/wesbos/Simple-Redux 获得,您可以通过执行以下操作来重现它:
npm install
npm start
- 在浏览器中打开 localhost:3000
- 编辑减速器 - 打开
posts.js
并将第 6 行的数字更改为其他任何内容