我们应该在什么时候检查组件是否已安装???我打了很多setState
电话,遇到了一些我在标题中写的warning
。
现在,我可以通过在componentDidMount
中将variable
和initializing
声明为true,并在componentWillUnmount
上将重置为false来避免这种情况,然后检查setState
何时得到调用。
但我的确切问题是,是否有必要在每次setState
调用时进行检查,或者在特定情况下发生此警告?并且我应该在该时间检查变量?
还会影响此警告的性能吗?
当异步调用setState时,可能会发生这种情况,例如window.fetch().then(...setState...)
或等待或在回调中。
您可以使用this.isMounted()
而不是自定义变量,但请参阅https://reactjs.org/blog/2015/12/16/ismounted-antipattern.html以获得更好的解决方案。