React v16.9 中unsafe的生命週期函數

https://zh-hans.reactjs.org/b...

Unsafe的生命週期

  • componentWillMount → UNSAFE_componentWillMounthtml

    • 沒有用過,不描述
  • componentWillReceiveProps → UNSAFE_componentWillReceivePropsreact

    • 緣由:redux

      • 在一次渲染週期內,props屢次變化,形成該函數重複調用。
      • 父組件觸發子組件從新渲染,即便props未變化,依然會調用該函數
    • 方案dom

      1. 在render中處理最終須要的渲染相關數據函數

        • componentShouldUpdate 僅處理 props 相關
        • 使用memoize
      2. 使用getDerivedStateFromProps,僅會在渲染前調用,返回值應用於state,不經過setState隊列。設計

        • packagesreact-domsrcserverReactPartialRenderer.js
  • componentWillUpdate → UNSAFE_componentWillUpdatecode

    • 緣由:component

      • 設計用於保存組件在渲染前的狀態,好比讀取dom信息中的滾動值等。
      • 但實際中,可能會調用setState或者觸發react-redux中的action
    • 方案server

相關文章
相關標籤/搜索