react 性能優化之 componentWillReceiveProps & componentDidUpdate


使用方法看起來一樣:

componentWillReceiveProps(nextProps) { if(nextProps.count !== this.props.count) 
// doSomething } }
componentDidUpdate(prevProps) { if(prevProps.count !== this.props.count) { this.setState({ count: this.props.count }) } 
}
區別:
生命周期調用時機不同
componentWillReceiveProps在組件接受新的props之前觸發,
componentDidUpdate在組件接受新的props之后觸發

更新state的方式

最主要的區別是

  • componentWillReceiveProps更新狀態是同步的
  • componentDidUpdate更新狀態是異步的
    這點區別非常重要,也是componentWillReceiveProps生命周期被廢棄的重要原因(可能導致某些問題), 所以推薦使用componentDidUpdate
轉載鏈接:https://www.jianshu.com/p/638f67160fcf

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM