javascript - 究竟是什么时候在未安装的组件上发生 React 状态更新警告?
问题描述
究竟什么时候我们应该检查一个组件是否已安装???我有很多setState
电话,我遇到了我在标题warning
中写的一些时间。
现在我可以通过声明 a variable
andinitializing
为true incomponentDidMount
并重新分配为false on来避免这种情况componentWillUnmount
,然后检查何时setState
被调用。
但我的确切问题是,是否有必要在每次setState
通话时检查,或者此警告发生在特定情况下?我应该在那个时候检查变量吗?
这个警告还会影响性能吗?
解决方案
当您异步调用 setState 时,可能会发生这种情况,例如window.fetch().then(...setState...)
,等待或在回调中。
您可以使用this.isMounted()
而不是自定义变量,但另请参阅https://reactjs.org/blog/2015/12/16/ismounted-antipattern.html以获得更好的解决方案。
推荐阅读
- javascript - 如何从 react-native 中的函数返回数据
- r - R中的替代特定条件Logit
- sequelize.js - 如何使用 sequelize 实现批量更新?
- r - 如何使用 pgmm 估计此回归?R
- tensorflow - 如何修复:'RuntimeError:会话图为空。在调用 run() 之前向图中添加操作。
- java - 使用带有身份验证标头的 AWS API 网关上传音频
- php - 管理员在 Laravel 中创建用户
- c++ - 我在这个程序中收到“退出,浮点异常”的错误,你能解释一下并给我新代码,为什么会这样?
- flutter - 使用 getX 颤振图像选择器
- tensorflow2.0 - graph_def.ParseFromString(f.read()) google.protobuf.message.DecodeError:解析消息时出错