react优化hook

useReducer对usestate的补充对渲染数据进行加工
reacrmemo根据传入props是否更新决定自组件是否重新渲染

usememo根据传入的依赖数组是否为新值判断函数是否重新计算更新

useMemo 的函数会在渲染期间执行。

useMemo和useCallback接收的参数都是一样,都是在其依赖项发生变化后才执行,都是返回缓存的值,区别在于useMemo返回的是函数运行的结果,useCallback返回的是函数。

避免非必要渲染

在使用ReactHooks时,有一些常见的陷阱需要注意。以下是一些常见的陷阱和解决方法: 1. Hooks的顺序和条件:React要求在组件的每次渲染中以相同的顺序调用Hooks。不要在条件语句、循环或嵌套函数中使用Hooks,确保在函数组件的顶层使用Hooks,并保持每次调用的顺序一致。 2. 条件渲染:在条件渲染的情况下,Hooks的调用顺序可能会发生变化。例如,在条件语句中切换时,组件的销毁和重新创建可能会导致Hooks重新调用。为了避免这个问题,可以将条件渲染的逻辑提取到单独的组件中,并使用条件渲染来控制组件的显示与隐藏。 3. 副作用和依赖项:在使用`useEffect`或`useLayoutEffect`时,需要注意副作用函数中使用的依赖项。如果依赖项不正确地指定或未指定,可能会导致副作用函数的触发不准确或频繁触发。确保正确地指定依赖项,并根据需要进行优化。 4. 引用丢失:在闭包中使用Hooks时,可能会遇到引用丢失的问题。例如,在事件处理程序中访问`useState`或`useEffect`中的状态。为了解决这个问题,可以使用`useCallback`来确保每次渲染都返回相同的函数引用。 5. 自定义Hooks:在编写自定义Hooks时,需要注意命名规范以及Hooks的使用约定。自定义Hooks应以`use`开头,以便React能够正确地识别其为Hooks,并遵循Hooks的规则和约束。 总之,在使用ReactHooks时,要注意这些陷阱并遵循React的最佳实践,以确保代码的可靠性和一致性。阅读官方文档并参考相关示例和建议也是非常有帮助的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值