博客 / 詳情

返回

如何用useRef優化重複請求

如題:如何用useRef優化重複請求。
寫業務代碼,時而會遇見這種情況,如下偽代碼:

useEffect(() => {
    // api請求 ()
  }, [a, b])

參數a來源某接口請求、參數b來源另外一個接口請求
毫無疑問,上面寫法回調函數一定會進去兩次,除了用參數校驗
比如滿足條件再進入api調用,還可以用useRef來暫存參數,而又不會引起頁面的re-render。

比如api請求需要a參數,可以寫成這樣:

testRef.current = a;
if (testRef.current === a) return

這樣無論useEffect進去多少次,只要參數a不變,api就只會調用一次。

user avatar 1023 頭像 jidongdehai_co4lxh 頭像 uncletong_doge 頭像 columsys 頭像 buxia97 頭像 yilezhiming 頭像 niumingxin 頭像 light_5cfbb652e97ce 頭像 fehaha 頭像 lidalei 頭像 warn 頭像 william_wang_5f4c69a02c77b 頭像
12 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.