const store = createStore(rootReducer, compose(applyMiddleware(thunk), window.__REDUX_DEVTOOLS_EXTENSION__()) ); // Redux Toolkit 默认已内置 devTools
页面上点按钮状态确实变了,Redux DevTools 的 action 列表一条都不动,时间旅行也用不了。装了两个增强器,控制台没有报错。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。
原因不复杂,store 被替换成了另一个实例,组件订阅的还是旧 store。中间件和 devTools 增强器的顺序写反,compose 的结果把调试层盖掉了。
「Redux DevTools 失效」排查到最后往往是很小的一处差异,前面那些复杂猜测可以先放一放。改完隔一天再看一次,当场正常不代表能稳住。
测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。
日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。
处理上按这个顺序:确认 createStore 只调用一次 没有在热更新里重建;enhancer 用 compose 先 middleware 再 devTools;React 层确认 Provider 传的是同一个 store;点一次按钮 看 DevTools 是否出现对应 action。
改完只确认一件事:每次点击都能在 DevTools 里看到一条 action,时间旅行可以回到上一状态。
