如题:如何用useRef优化重复请求。
写业务代码,时而会遇见这种情况,如下伪代码:

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

参数a来源某接口请求、参数b来源另外一个接口请求
毫无疑问,上面写法回调函数一定会进去两次,除了用参数校验
比如满足条件再进入api调用,还可以用useRef来暂存参数,而又不会引起页面的re-render。

比如api请求需要a参数,可以写成这样:

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

这样无论useEffect进去多少次,只要参数a不变,api就只会调用一次。


健儿
79 声望4 粉丝

掌握好原生js。