react函数组件为了保持引用不变,很多时候需要借助useCallback
,但是useCallback
强依赖于外部变量,必须传个依赖变量,万一漏传了很容易出问题。比较函数复杂时较麻烦,使用这个即可完美解决,引用不变,调用肯定是最新的,并且不需依赖
just 记录方便cp
function usePersistCallback<T extends(...args: any[]) => any>(fn?: T) {
const ref = useRef<T>();
ref.current = fn;
return useCallback<T>(
// @ts-ignore
(...args) => {
const fn = ref.current;
return fn && fn(...args);
},
[ref],
);
}
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有