React警告: Warning: Can‘t perform a React state update on an unmounted component.

React警告: Warning: Can’t perform a React state update on an unmounted component.

这是一个警告,错误原因是不能在组件销毁后设置state。
解决方法:
一、清除所有的定时器

componentDidMount(){
    
    
              let timer= setInterval(()=>{
    
    
                    let {
    
    newsArr}=this.state
                    let content='新闻'+(newsArr.length+1)
                    this.setState({
    
    
                        newsArr:[content,...newsArr]
                    })
                },1000)
            }
            close=()=>{
    
    
               ReactDOM.unmountComponentAtNode(document.getElementById('test'))
            }
              componentWillUnmount(){
    
    
                console.log('将要卸载')
                clearInterval(this.timer)
            }

二、异步执行完成后要执行setState操作时,已经无法获得组件信息,由此造成该异常

  componentWillUnmount(){
    
    
                console.log('将要卸载')
                clearInterval(this.timer)
                this.setState = ()=>false
            }

猜你喜欢

转载自blog.csdn.net/Stars_in_rain/article/details/122979248