🎋 竹子日誌

useEffect 要 Cleanup

分享一下前陣子工作上遇到的感觸

我們寫那麼久的 React,從 functional component 寫都知道 useEffect 要 cleanup,講的大家都知道。聽了任何事件要清除,改了外部狀態要恢復。

但 Promise 的 callback 嚴格來說也是一個 event callback,那是不是也應該 cleanup?

不管你認不認同,我覺得只要在 react component 裡面去做了任何 Promise 行為,那就應該要用 useEffect 去更新狀態和清除事件。

官方寫了一個案例:

https://react.dev/learn/synchronizing-with-effects#fetching-data

雖然這麼說極端了點,但常態的 useEffect + fetch 要這麼寫應該沒毛病了吧?

不過最好的方法還是 tanstack query 治百病XD

留言