我将redux-devtools与redux-devtools-dock-monitor和redux-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}>.下面是我的Root组件:
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-monitor和redux-devtools-dock-monitor作为监视器
发布于 2018-12-17 22:02:28
在react-redux@6中,存储不是通过遗留的React上下文传递的,您应该通过如下的属性明确地指定它:
<DevTools store={store}/>更新1:它对我很有效,因为我在主项目中使用了react-redux@6,但在redux-devtools依赖中使用了react-redux@5。因此,如果有人需要一个快速的变通方法(你无论如何都不应该在产品中包含DevTools组件),在它被支持之前,只要做:cd ./node_modules/redux-devtools && npm i react-redux@5。
更新2:redux-devtools@3.5.0刚刚发布,增加了对react-redux@6的支持。
发布于 2018-12-18 12:17:02
我已经尝试了这个建议,但现在它给出了另一个错误(我正在使用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的提供者和特定组件,如:。您还可以传递{context : MyContext}选项来连接
https://stackoverflow.com/questions/53752522
复制相似问题