前言

聽說class component已經過時了,現在要用function component來開發

生命週期

修改手順

  1. 把state變成useState
  2. 把class 的 member function改成function中的function
  3. 將componentDidMount、componentDidUpdate、componentWillUnmount改為useEffect來實現

useEffect

useEffect(() => {
    
    // componentDidMount, componentDidUpdate */
    
    return () => {
        
      // componentWillUnmount
        
    };
    
}, [dependencies]);

如果dependencies參數不加時,則useEffect會等同於componentDidMount。useEffect可以使用很多次,用來區分有沒有componentDidUpdate,而componentDidUpdate也可以根據dependencies參數來監聽不同目標的改變才要觸發。

參考資料