反应16.8.4;节点v11.8.0;在装有Xcode 9.4.1的Mac OS High Sierra 10.13上的NVM环境中运行
我的小型全新React应用程序运行相对平稳,该应用程序以CRA + Express(同时使用)为模型。
然后,我遇到了一些与node-sass有关的令人讨厌的问题,不得不使用nvm
工具将我的节点版本限制为11.8.0。我经历了几次奇怪的崩溃(----------------),然后上周一次能够重新启动我的应用程序。
现在,当我运行yarn start
时,我的开发环境会正常加载(缓慢):
然后,我的Chrome会自动打开http://localhost:3000并旋转几分钟
最后,大约6-7分钟后,Chrome崩溃并出现内存错误:
我想不出我的(很小的,全新的)React应用程序中会引起这种情况的任何事情,但是我将尝试从战略上重建它,看看是否可以在此应用程序之外重新创建此崩溃。我怀疑这是开发或环境问题,因为我没有问题将同一应用程序部署到Heroku。
有人在Mac上进行开发时看到过类似的东西吗?
答案 0 :(得分:0)
这就是我所有。(满意地将其修复,但也要警告他人...)
注意:我进入React的旅程已经六个月了,我犯了一个新手错误。
我添加此代码的目的是为了进行“网络字体加载”(不相关)
class App extends Component {
render() {
return (
<WebfontLoader config={config} onStatus={callback}>
<App />
</WebfontLoader>
);
}
}
仔细看。您会注意到,我错误地将JSX放在App类本身的<App />
调用内的render
对象中。
我想这就是内存崩溃的根源,因为它形成了某种无限循环。
我清楚地发现,罪魁祸首是对App类本身的<App />
调用中的render
对象(一个完全没有目的的错误-确实很草率)。
尽管如此,我还是要向React JS核心团队推荐此补丁,因为当您遇到这种情况时,处理浏览器崩溃非常讨厌。