【问题标题】:redux replaceReducer seems not work in HMRredux replaceReducer 似乎在 HMR 中不起作用
【发布时间】:2026-01-05 20:00:01
【问题描述】:

我已经用react-hot-loader 配置了一个开发环境。 HMR 工作正常,我为redux 添加了下面的配置

if (module.hot) {
   // Enable Webpack hot module replacement for reducers
   module.hot.accept('../reducers', () => {
     console.log('reducers change')
     const nextReducer = require('../reducers').default
     store.replaceReducer(nextReducer)
  })
}

当我更改减速器文件时,module.hot.accept 处理程序工作并且 [HMR] 似乎获得了成功信息

[HMR] connected
[HMR] bundle rebuilding
[HMR] bundle rebuilt in 405ms
[HMR] Checking for updates on the server...
reducers change
[HMR] Updated modules:
[HMR]  - ./src/reducers/testReducer.js
[HMR]  - ./src/reducers/index.js
[HMR] App is up to date. 

但是状态没有改变,它的值仍然是初始值。

【问题讨论】:

    标签: redux react-hot-loader


    【解决方案1】:

    在你的configuration.js中,你有没有导入'./reducers/index.js'?

    【讨论】:

      最近更新 更多