Skip to content

useEffectCallback

返回稳定引用,并始终调用最新实现的副作用回调。

签名

ts
function useEffectCallback<T extends (...args: any[]) => any>(callback: T): T;

基本用法

关键行为

  • 返回的函数引用在重新渲染后保持稳定。
  • 调用返回函数时,实际执行的始终是最新版本的 callback
  • 它适合放在 useEffectuseLayoutEffect、事件回调等副作用场景中,避免因为闭包过旧而读到旧状态。

注意事项

  • 这个 hook 允许回调内部包含副作用,因此不要把它当作可在渲染阶段随意执行的纯函数。
  • 如果你需要“稳定引用 + 可在任意位置安全执行”,更适合使用 usePureCallback