如題:如何用useRef優化重複請求。
寫業務代碼,時而會遇見這種情況,如下偽代碼:
useEffect(() => {
// api請求 ()
}, [a, b])
參數a來源某接口請求、參數b來源另外一個接口請求
毫無疑問,上面寫法回調函數一定會進去兩次,除了用參數校驗
比如滿足條件再進入api調用,還可以用useRef來暫存參數,而又不會引起頁面的re-render。
比如api請求需要a參數,可以寫成這樣:
testRef.current = a;
if (testRef.current === a) return
這樣無論useEffect進去多少次,只要參數a不變,api就只會調用一次。