react中useEffect使用技巧

useEffect集合了组件中的 componentDidMount,componentDidUpdate以及componentWillUnmount到一个方法中,杜绝了频繁定义的繁琐。

使用事例

useEffect(()=>{},[depts])

1.如果传递一个空数组 [ ] ,告诉 useEffect 不依赖于 state、props中的任意值, useEffect 就 只会运行一次 ,相当于componentDidMount,vue中的mounted

2.如果数组中有值 ,这个值改变就会触发运行

3. 如果不给数组 ,useEffect(()=>{}),相当于componentDidUpdate,也就是vue中的beforeUpdate

4.方法里写return ...,相当于componentWillUnmount,也就是vue中的beforeDestroy\

useEffect写写异步的方式:

import React, { memo,useState ,useEffect,useCallback,useMemo} from 'react';
let c=0
function App(){
    let [count,setCount]=useState(0);
    c=count;
    useEffect(()=>{
        let timer=setInterval(()=>{
            setCount((v)=> v+1)
            console.log(c)
        },1000) 
        return ()=>{timer&&clearInterval(timer)}
    },[])
    return (
        <div>{count}</div>
    )
}
export default App

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React进行性能优化是非常重要的,特别是当应用程序变得复杂或数据量较大时。以下是一些React的性能优化技巧: 1. 使用React的Memo组件或PureComponent类来避免不必要的重新渲染。这些组件会对props和state进行浅比较,只有在它们发生变化时才会重新渲染。 2. 使用React的shouldComponentUpdate生命周期方法或使用React.memo高阶组件手动控制组件的重新渲染。这些方法可以让你根据需要来决定是否重新渲染组件。 3. 使用React的虚拟化库,如react-virtualized或react-window,来优化长列表或大型数据集的渲染。这些库只渲染可见的部分,而不是整个列表。 4. 使用React的Context API来避免props层层传递。这可以减少组件之间的耦合,并提高性能。 5. 使用ReactuseCallback和useMemo钩子来缓存函数和计算结果,以避免不必要的重复计算。 6. 使用React的Batching机制来合并多个setState调用,以减少渲染次数。可以使用setState的回调函数或使用React的unstable_batchedUpdates方法。 7. 避免在render方法执行昂贵的计算或操作。可以将它们移到生命周期方法,或者使用useEffect钩子在组件挂载后执行。 8. 使用React DevTools来分析组件渲染的性能瓶颈。它提供了有关组件渲染时间和更新次数的详细信息。 这些是一些常见的React性能优化技巧,但具体的优化策略可能因应用程序的特性而异。重要的是要进行基准测试和性能分析,以确定哪些部分需要进行优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值