1

我正在redux-devtools使用redux-devtools-dock-monitorredux-devtools-log-monitor

我遵循了文档。但是,在控制台中我收到此错误:

index.js:1452 Redux DevTools could not render. 
You must pass the Redux store to <DevTools> either as a "store" prop 
or by wrapping it in a <Provider store={store}>.

这是我的根组件:

const Root = () => {
   return (
       <Provider store={store}>
            <div>
                <h1>Hello !!!</h1>
                <DevTools/>
            </div>
       </Provider>
   );
};

export default Root;

此外,我也收到此警告:

redux-devtools@3.4.2" has incorrect peer dependency "react-redux@^4.0.0 || ^5.0.0".

我用过redux-devtools-log-monitorredux-devtools-dock-monitor作为显示器

4

2 回答 2

1

我已经尝试了这个建议,现在它给出了另一个错误(我正在使用 DockMonitor)。即这是我的设置。

<DockMonitor toggleVisibilityKey='ctrl-h'
  changePositionKey='ctrl-q'
  changeMonitorKey='ctrl-m' >
  <LogMonitor />
</DockMonitor>


<Provider store={store}>
  <App />
  <DevTools store={store} />
</Provider>

产生以下错误:

未捕获的错误:在 props 中传递 redux 存储已被删除并且不执行任何操作。要为特定组件使用自定义 Redux 存储,请使用 React.createContext() 创建自定义 React 上下文,并将上下文对象传递给 React-Redux 的 Provider 和特定组件,例如:。你也可以传递一个 {context : MyContext} 选项来连接

于 2018-12-18T04:17:02.340 回答
1

react-redux@6中,store 不是通过遗留的 React 上下文传递的,你应该通过 props 明确指定它,如下所示:

<DevTools store={store}/>

更新 1:它对我有用,因为我react-redux@6在主项目中,但是react-redux@5依赖redux-devtools。因此,如果有人需要一个快速的解决方法(无论如何你都不应该在生产中包含 DevTools 组件),直到它得到支持,只需执行以下操作cd ./node_modules/redux-devtools && npm i react-redux@5

更新 2:redux-devtools@3.5.0刚刚发布,增加了对react-redux@6.

于 2018-12-17T14:02:28.240 回答