[英]React 'useEffect' hook replaces how many lifecycle methods?
React useEffect
可以替代多少生命周期方法?
我發現一篇關於useEffect
hook 的文章聲稱它只能替換三個,即componentDidMount
、 componentDidUpdate
和componentWillUnmount
。
其他人呢?
這實際上就是全部。 useEffect() 在組件安裝后調用,而不是在每次狀態更新時調用。 如果你想把它用作 componentWillUnmout 你必須像這樣返回一個清理函數
useEffect(() => {
//something you want to do
return () => console.log('cleanup is running');
});
不,差不多就是這樣,盡管當您返回一個函數並且不傳遞依賴項時它接近componentWillUpdate
(它只是在第一次渲染之前不運行)
仔細想想,這是一個非常簡單的鈎子。 規則非常簡單:
您傳遞給useEffect
的函數:
您從useEffect
函數返回的函數:
最好不要考慮它取代的生命周期事件。 而是考慮這 4 條規則以及如何讓它們在您需要時運行您的功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.