首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >redux-devtools中缺少react

redux-devtools中缺少react
EN

Stack Overflow用户
提问于 2017-01-25 05:28:49
回答 1查看 1.2K关注 0票数 1

我是比较新的反应和webpack,我刚刚开始了一个新的项目来工作。要配置DevTool,我们有:

代码语言:javascript
复制
export function renderDevTools(store) {
    if (__DEV__) {
        let {DevTools, DebugPanel, LogMonitor} = require('redux-devtools/lib/react');
        return (
            <DebugPanel top right bottom>
            <DevTools store={store} monitor={LogMonitor} />
            </DebugPanel>
        );
    }
    return null;
}

从node_module,我可以看到:

代码语言:javascript
复制
\node_modules\redux-devtools\lib\

代码语言:javascript
复制
createDevTools.js
index.js
persistState.js

但是这个文件夹中没有react.js,所以运行代码会提供:

代码语言:javascript
复制
ERROR in ./app/utils/devTools.js
Module not found: Error: Cannot resolve module 'redux-devtools/lib/react'

我试过了

代码语言:javascript
复制
npm install redux-devtools

但文件中仍然没有反应。这是一个遗留代码,当我尝试运行它时,它不起作用。我想知道哪里出了问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-25 09:33:18

此代码用于redux-devtools@2。在redux-devtools@3中,监视器被解耦为redux-devtools-log-monitorredux-devtools-dock-monitor,您还必须安装这些监视器并将它们添加到项目中,如医生们中所示。

此外,您还必须在__DEV__中将true设置为webpack.config (对于开发和生产来说,这应该是不同的):

代码语言:javascript
复制
plugins: [
  new webpack.DefinePlugin({
    '__DEV__': true
  })
],

一个更简单的方法不是直接将它包含到应用程序中,而是使用Chrome / Firefox扩展。然后,您可以将其添加到Redux商店只有一行代码中。

代码语言:javascript
复制
const store = createStore(reducer, /* preloadedState, */
  window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
);

在本例中,请确保删除与Redux DevTools相关的所有其他内容。

如果您使用的是扩展,您也可以在生产没有任何边缘情况中使用它,否则一定要从生产包中删除它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41844078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档