React 钩子函数
4

官网:https://react.docschina.org/reference/react/useCallback

  • useCallback (缓存函数引用)

语法:

const fn = useCallback(() => { ... }, [deps])

deps:

将回调里“用到的外部变量”放入依赖数组即可。规则:你在回调中读取了谁,就把谁写进deps。

想稳定到只创建一次(挂载时定住):deps传 [], 但回调里不能依赖会变化的值,否则会拿到旧值。

何时用:

1、依赖数组里面用到了该函数(例如子组件以它为依赖项)

2、函数组件详细传递函数。子组件React.memo/useEffect/useMemo 依赖它。

3、避免列表项等频繁渲染时重复创建函数导致性能抖动。

何时不用:

函数只在当前组件内部使用,且不参与依赖判断。

依赖写法:

  • 捕获的值都应写入deps:useCallback(() => doSomething(id, q), [id, q])

  • 若只想在挂载时稳定:useCallback(fn, [])

React 钩子函数
https://zdbxll.cn/archives/1761790980689
作者
Administrator
发布于
更新于
许可