ReactDOM.render:从16.4.2升级到16.5.2后无法在未安装的组件上找到节点

时间:2018-10-10 07:03:54

标签: node.js reactjs npm material-ui

我已使用从Visual Studio 2017运行的npm update将ReactJS项目更新为最新版本,

+ @material-ui/icons@2.0.3
+ react-dom@16.5.2
+ @material-ui/core@1.5.1
+ react@16.5.2
+ @aspnet/signalr@1.0.4
added 4 packages from 3 contributors, removed 10 packages, updated 20 packages and audited 185 packages in 23.309s
found 0 vulnerabilities

运行npm outdated时,我仍然得到:

Package             Current  Wanted  Latest  Location
@material-ui/core     1.5.1   1.5.1   3.2.0  Dixie
@material-ui/icons    2.0.3   2.0.3   3.0.1  Dixie

现在,当我运行项目时,该项目在更新之前就可以工作了,

  

ReactDOM.render:无法在未安装的组件上找到节点。

这是我的package.json:

{
  "name": "Dixie",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "bootstrap": "^3.3.7",
    "react": "^16.4.1",
    "react-bootstrap": "^0.31.5",
    "react-dom": "^16.4.1",
    "react-router-bootstrap": "^0.24.4",
    "react-router-dom": "^4.2.2",
    "react-scripts": "^1.1.4",
    "rimraf": "^2.6.2"
  },
  "scripts": {
    "start": "rimraf ./build && react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }
}

在React更新到16.5.2后如何解决此错误?


我做到了

npm install  @material-ui/icons@3.0.1
npm install  @material-ui/core@3.2.0
npm cache clean --force

现在npm outdated什么都没有显示,但错误仍然存​​在。

也尝试了(没有任何收获):

npm uninstall --save react-dom
npm uninstall --save react
npm install react-dom
npm install react

唯一可行的是降级

npm install react-dom@16.4.2
npm install react@16.4.2

但这意味着我无法升级。还尝试了另一台具有相同项目和相同错误的计算机。

2 个答案:

答案 0 :(得分:3)

我有同样的问题。最终将React和React-dom升级到16.6.0有所帮助。

答案 1 :(得分:2)

我建议卸载/删除损坏的软件包并安装更新的软件包。

您可以将React降级到16.4.2。这样:

npm uninstall --save react-dom
npm uninstall --save react
npm install react-dom@16.4.2
npm install react@16.4.2