关于 useClickOutside 中 handler 作为 useEffect dependence
来源:9-10 妙用 useRef - 实现 clickOutSide 功能-

慕的地3235831
2022-01-03
老师 您好
我发现在 useClickOutside 这个自定义hook中,我们把 handler 函数 放在了 useEffect 的 dependence list 中。
因为 handler 是一个函数类型(reference type), 如果直接放入 dependence list 会不会引起 infinity loop(每次组件re-render 会 create new function reference)?
需不需要给handler包裹一层useCallback ?
写回答
1回答
-
张轩
2022-01-04
同学你好
非常感谢你的发现 这里最好的做法确实你是按你说的可以再包一层 这样做是比较完美的 当然 handler 其实也很少变化,如果将它从依赖数组中去掉也是可以的
012022-01-04
相似问题