Redux DevTools 为什么在浏览器里找不到?

打工人芹芹 阅读 12

我按照文档装了 Redux DevTools 浏览器扩展,也在代码里加了 devTools: true,但打开 Chrome 开发者工具还是看不到 Redux 那个 tab,是我哪里漏了吗?

这是我的 store 配置:

const store = createStore(
  rootReducer,
  window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
);
我来解答 赞 2 收藏
二维码
手机扫码查看
2 条解答
设计师悦洋
哎呀看到你的代码了,这个写法本身没啥大问题,但我怀疑有几个地方可能踩坑了,你排查一下。

先确认下 Chrome 扩展是不是真的启用了。点浏览器右上角那个拼图图标,找到 Redux DevTools,确保它是开启状态。有时候装了但没启用也是白搭。

然后检查下开发者工具里,右上角有个 ">>" 的箭头,点开看看 Redux 是不是藏在里面。有时候 tab 太多了会被折叠进去,我之前也被这个坑过。

如果上面都没问题,试试刷新页面,或者干脆重启一下浏览器。Redux DevTools 需要在页面加载时注入那个全局变量,有时候装完扩展需要重启才能生效。

另外你的代码可以稍微改得更稳妥一点:

const store = createStore(
rootReducer,
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
);


你原代码里用了 &&,这是 HTML 转义后的写法,如果直接复制粘贴的话其实是错的,要用真正的 && 运算符才行。

如果还是不行,打开控制台敲一下 window.__REDUX_DEVTOOLS_EXTENSION__ 看看是不是 undefined,如果是的话那就是扩展没正确加载。

希望能帮到你!搞定了说一声哈。
点赞
2026-03-01 12:25
IT人振巧
看到你的代码了,问题应该不难排查,我们一步步来。

先说个最容易被忽略的点,Chrome 开发者工具的 tab 栏是有宽度限制的,Redux DevTools 的 tab 很可能被折叠到最右边的那个 >> 箭头里面了。点开那个箭头看看有没有 Redux 选项,有的话右键把它 pin 住就行。

如果那里也没有,我们再检查几个地方。

第一,确认扩展真的装好了。在地址栏输入 chrome://extensions/,找找有没有 Redux DevTools,得是开启状态才行。要是连这个页面都找不到,那就是扩展根本没装上,去 Chrome 商店重新装一遍。

第二,你的代码写法本身没问题,但我建议稍微改一下,加个容错处理:

import { createStore, compose } from 'redux';

const store = createStore(
rootReducer,
compose(
// 这个判断是为了防止没装扩展时报错
window.__REDUX_DEVTOOLS_EXTENSION__
? window.__REDUX_DEVTOOLS_EXTENSION__()
: f => f
)
);


原理是这样:createStore 的第二个参数如果是函数,Redux 会把它当作 enhancer 来处理。你原来的写法在扩展没装的时候会返回 undefined,可能导致一些奇怪的问题。用 compose 包一下,再给个默认值 f => f(就是个透传函数),就比较稳了。

第三,打开控制台看看有没有报错。有时候是其他代码报错导致 store 根本没创建成功,那扩展自然也检测不到。

第四,刷新页面。这个听起来很傻,但有时候扩展刚装好需要刷新一下页面才能生效,或者你代码改了没刷新。

第五,如果你用的是 Redux Toolkit,那就更简单了,configureStore 默认就开启了 DevTools:

import { configureStore } from '@reduxjs/toolkit';

const store = configureStore({
reducer: rootReducer,
// devTools: true // 默认就是 true,开发环境自动开启,不用手动写
});


基本上就是这几个原因,绝大多数情况就是 tab 被折叠了或者扩展没开。排查完告诉我结果。
点赞 3
2026-02-28 22:12