React Hooks - useCallback

useCallback介绍

const memoizedCallback = useCallback(
  () => {
    doSomething(a, b);
  },
  [a, b],
);
  • 返回一个 memoized 回调函数
  • 把内联回调函数及依赖项数组作为参数传入 useCallback,它将返回该回调函数的 memoized 版本,该回调函数仅在某个依赖项改变时才会更新。当你把回调函数传递给经过优化的并使用引用相等性去避免非必要渲染(例如 shouldComponentUpdate)的子组件时,它将非常有用。
  • useCallback(fn, deps) 相当于 useMemo(() => fn, deps)
  • useCallback中文文档

useCallback简单理解

  • 是一个hook
  • 用于react性能优化
  • 返回值是一个 回调函数
  • 当依赖项里面的数据变化时才执行然后返回新的函数;如果依赖项里面的数据不变时,就不会执行,返回值是上一次缓存的函数

useCallback 和 useMemo的区别

  • useMemo 缓存的结果是回调函数中return回来的值;主要用于缓存计算结果的值
  • useCallback 缓存的结果是函数,主要用于缓存函数;主要用于缓存函数;函数式组件每次任何一个state发生变化,会触发整个组件更新,一些函数是没有必要更新的,此时就应该缓存起来,提高性能,减少对资源的浪费
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值