更新2 : 我的设置存在问题。我使用react-scripts
将yarn upgrade react-scripts
升级到版本1.0.2(为0.9.5),现在它实际上再次运行。
更新:我开始认为我的node.js设置存在问题。
即使是较旧的提交,我相信之前已经工作过,也不再有效。 git bisect
我没有到达任何地方(虽然我很高兴我了解到它)。
我很确定我不是唯一一个有这个问题的人,因为我不止一次地看过这个问题。但是,迄今为止提供的答案都没有帮助我解决它。
我有一个React应用,在render()
(在index.js
中)失败了:
render(
<Provider store={store}>
<Router
routes={config.router.routes}
history={browserHistory}
/>
</Provider>,
document.getElementById('root')
);
函数的最后一行返回null
。在Chrome开发者控制台中,这一点变得清晰了(我添加了console.log
以显示结果为null
):
由于render()
获取null
作为第二个参数,因此发生特定错误是相当明显的。
然而,对于我的生活,我无法找出它返回null
的原因。我很乐意编码,直到昨晚它停止工作的某个时候。我的public/index.html
看起来像这样:
<!doctype html>
<html lang="en">
<head>
<script>
window.settings = {
"apiUrl": "https://api.goes.here",
"imgUrl": "https://api.goes.here"
};
</script>
</head>
<body>
<div id="root"></div>
</body>
</html>
(我已经清除了实际的api值。)
我也没有看到任何错误。现在,鉴于问题突然发生,我可能会错过一些非常明显的问题。为了完整起见,这是我的依赖项:
"devDependencies": {
"react-scripts": "^0.9.5"
},
"dependencies": {
"bootstrap": "^3.3.7",
"classnames": "^2.2.5",
"compression": "^1.5.2",
"firebase": "^4.0.0",
"jquery": "^3.2.1",
"linc-profile-generic-react-redux-routerv3": "^3.4.2",
"prop-types": "^15.5.8",
"query-string": "^4.3.2",
"react": "^15.5.4",
"react-dom": "^15.5.4",
"react-helmet": "^5.0.3",
"react-redux": "^5.0.4",
"react-router": ">=3.0.0 <4.0.0",
"react-spinkit": "^2.1.1",
"redux": "^3.6.0",
"redux-form": "^6.7.0",
"redux-logger": "^3.0.1",
"redux-thunk": "^2.1.0"
},
我希望有人可以对此有所了解。我已经没想完了。
谢谢! 桑德
答案 0 :(得分:1)
您应该直接使用ReactDOM.render方法;
示例:
ReactDOM.render(
<Provider store={store}>
<Router
routes={config.router.routes}
history={browserHistory}
/>
</Provider>,
document.getElementById('root')
);
如果您已经这样做了,我很抱歉,您是否正在尝试从类组件中执行render方法并不完全清楚。
答案 1 :(得分:0)
大。我将react-tools
从0.9.5升级到1.0.2,现在一切都像魅力一样。我想也许在某些时候我已经升级到这个版本,但未能提交它。
非常感谢回答这个问题的所有人!干杯!