reactjs - 未捕获的类型错误 : Cannot read property 'hasOwnProperty' of undefined react-dom. production.min.js:760

标签 reactjs webpack react-dom-server

当我尝试打开构建项目时收到此错误

顺便说一句,该项目在开发模式下运行良好。

Uncaught TypeError: Cannot read property 'hasOwnProperty' of undefined
    at Object.<anonymous> (react-dom.production.min.js:760)
    at m (bundle.js:1)
    at Object.<anonymous> (index.js:34)
    at m (bundle.js:1)
    at Module.56 (main.2b9897ed.chunk.js:1)
    at m (bundle.js:1)
    at Object.36 (main.2b9897ed.chunk.js:1)
    at m (bundle.js:1)
    at l (bundle.js:1)
    at Array.n (bundle.js:1)

生成错误的第 760 行。 注意变量aa是require("react");

var Tb = aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
Tb.hasOwnProperty("ReactCurrentDispatcher") || (Tb.ReactCurrentDispatcher = {
  current: null
});

这是我的 package.json,你注意到我使用了最新版本的 React 和 React-Dom

{
  "name": "xxxx",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "react": "^16.8.6",
    "react-confirm-alert": "^2.4.1",
    "react-dom": "^16.8.6",
    "react-redux": "^7.0.2",
    "react-router-dom": "^5.0.0",
    "react-scripts": "2.1.8",
    "redux": "^4.0.1"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ],
  "proxy": "http://localhost:3001",
  "devDependencies": {
    "datatables.net": "^1.10.19",
    "jquery": "^3.4.0"
  }
}

构建生成的index.html

https://pastebin.com/zUWitJH2

最佳答案

我遇到了这个问题,并花了两个小时浏览网页。

然后我做了一个npm list | grep react 并意识到 reactreact-dom 有不同的版本。 package.json 仅指定版本范围,但不保证它们在同一版本上运行。

所以我所做的是npm rm React React-dom && npm i -s React React-dom

现在他们有了相同的版本,终于可以一起工作了。

关于reactjs - 未捕获的类型错误 : Cannot read property 'hasOwnProperty' of undefined react-dom. production.min.js:760,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56003446/

相关文章:

reactjs - 使用 React 上下文来维护用户状态

javascript - 只有 ReactOwner 可以有 refs。您可能正在向不是在组件的 render 方法中创建的组件添加 ref

reactjs - 如何使用 Normalizr 展平 Redux 状态中的多对多关系?

javascript - 使用 React 中的全局变量,这些变量在运行时提供,因此在构建时未知

javascript - 使用 React 使用随机生成的字符串进行服务器端渲染?

javascript - 当代码需要设备宽度时,ReactDOMServer 如何表现?

reactjs - 传递给子组件的 React 测试函数

javascript - Webpack raw-loader 在需要 markdown 文件时出错

javascript - 如何使用window.fetch加载本地json数据(ES6)

node.js - 如何使用 require 和 babel-register 动态加载 React 组件