调试时,是否可以从浏览器控制台访问 Redux 存储?如何在不更改代码的情况下在任何网站上查看 redux 商店

2022-08-30 04:46:45

我有我的.但是,当我在浏览器中调试时,我想检查我的操作是否已正确调用,以及是否已相应地修改状态。reducers

我正在寻找类似的东西:

window._redux.store

...在浏览器中,这样我就可以在控制台上键入它并检查事情的进展情况。

我怎样才能做到这一点?


答案 1

如何在不更改代码的情况下在任何网站上查看 redux 商店

2019年11月更新

自我最初的答案以来,react devtools已经发生了变化。Chrome的devtools中的新选项卡仍然具有数据,但您可能需要搜索更多一点。components

  1. 打开 chrome devTools
  2. 选择 react devtool 的选项卡Components
  3. 单击最上面的节点,然后在右侧列中查找要显示的内容store
  4. 在树上重复步骤3,直到找到(对我来说是第4级)store
  5. 现在,您可以按照以下步骤操作$r.store.getState()

Example screenshot

原始答案

如果您运行了react开发人员工具,则可以在不更改代码库的情况下使用。$r.store.getState();

注意:您必须首先在开发人员工具窗口中打开react devtool才能完成此操作,否则您将收到错误$r is not defined

  1. 打开开发人员工具
  2. 单击“反应”选项卡
  3. 确保选择了提供程序节点(或最上面的节点)
  4. 然后在主机中键入或$r.store.getState();$r.store.dispatch({type:"MY_ACTION"})

答案 2

let store = createStore(yourApp); window.store = store;

现在,您可以从控制台中的 window.store 访问商店,如下所示:

window.store.dispatch({type:"MY_ACTION"})