reactjs – React Flow可能的空值与document.body.classList.add
发布时间:2020-12-15 20:15:10 所属栏目:百科 来源:网络整理
导读:我有一个反应组件,我改变了html体类.该类正在componentDidMount中添加,并在componentWillUnmount中删除.我正在使用Flow进行类型检查.当我运行Flow时出现以下错误: src/modules/homepage/HomePage.js:27 27: document.body.classList.remove('homepage') ^^^
我有一个反应组件,我改变了html体类.该类正在componentDidMount中添加,并在componentWillUnmount中删除.我正在使用Flow进行类型检查.当我运行Flow时出现以下错误:
src/modules/homepage/HomePage.js:27 27: document.body.classList.remove('homepage') ^^^^^^^^^ property `classList`. Property cannot be accessed on possibly null value 27: document.body.classList.remove('homepage') ^^^^^^^^^^^^^ null 任何人都可以建议如何抑制此错误或建议的方法是什么? 谢谢 解决方法
这个错误正是它听起来的样子.无法在可能为null的值上访问属性classList. (document.body的)
document.body直到document.readyState is interactive才定义.你可以类似地等待domcontentready或load事件,但是你可能已经这样做了,因为你正在渲染React组件. 实际上,流程在这里很烦人,因为在浏览器环境中定义了document.body之后,它就会保持定义. 这是一些简单的解决方案: 您可以使用不变函数: 或者将语句放在if块中: if (document.body) { document.body.classList.remove('homepage') } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |