前言
聽說class component已經過時了,現在要用function component來開發
生命週期
修改手順
- 把state變成useState
- 把class 的 member function改成function中的function
- 將componentDidMount、componentDidUpdate、componentWillUnmount改為useEffect來實現
useEffect
useEffect(() => {
// componentDidMount, componentDidUpdate */
return () => {
// componentWillUnmount
};
}, [dependencies]);
如果dependencies參數不加時,則useEffect會等同於componentDidMount。useEffect可以使用很多次,用來區分有沒有componentDidUpdate,而componentDidUpdate也可以根據dependencies參數來監聽不同目標的改變才要觸發。