我正在使用 react 開發一個 web 應用程式,并看到它在那里實作。它是這樣的:
const onAddNewAccount = useCallback(async () => {
await refetch();
setOtherState((prev) => {...});
},
[refetch]);
我不明白為什么要這樣做,這實際上是正確的嗎?因為據我所知,回呼將在依賴項之一發生變化時被呼叫。
從我所看到的,呼叫refetch實際上不會觸發,useCallback可能是因為它只是被呼叫了對嗎?沒有改變。
所以基本上我需要幫助理解他們為什么這樣做。
uj5u.com熱心網友回復:
將在依賴項之一發生變化時呼叫回呼。
不,它不會被呼叫,它只會被重新創建。的目的useCallback是記住函式并在沒有任何變化時重用它。換句話說,它試圖onAddNewAccount從渲染 1 ===onAddNewAccount從渲染 2 開始。
如果refetch更改,則記憶將中斷并創建新函式。這樣,onAddNewAccount如果需要,新的可以呼叫新的重新獲取。如果refetch永遠不會改變,那就太好了:記憶可以永遠持續下去。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/365777.html
標籤:javascript 反应 打字稿 反应钩子
