useCallback记忆函数与useMemo记忆组件
useCallback记忆函数
- 目的:缓存函数,优化代码
- 防止因为组件重新渲染,导致方法被重新创建,起到缓存作用,只有第二个参数变化了,才重新声明一次。
- 举个栗子
var handleClick = useCallback(()=> {
console.log(name)
}, [name])
// 只有name改变后,这个函数才会重新声明一次,
// 如果传入空数组,那么就是第一次创建后就被缓存,如果name后期变了,拿到的还是老的name。
// 如果不传第二个参数,每次都会重新声明一次,拿到的就是最新的name。
useMemo 记忆组件
- 类似于vue的计算属性
- useCallback的功能完全可以由useMemo所替代,如果你想通过使用 useMemo 返回一个记忆函数也是完全可以的。
var handleClick = useMemo(() => {
return ()=> {
console.log(name)
}
}, [依赖]) // 当依赖值发生变化时才会重新声明一次
useCallback 与 useMemo的区别
- 唯一区别是:useCallback不会执行第一个参数函数,而是将它返回给你,而useMemo会执行第一个函数并且将函数执行结果返回给你。
本文作者:HuangBingQuan
本文链接:https://www.cnblogs.com/bingquan1/p/16940042.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步