• react----hooks


    1:函数组件  类组件  区别
    1:类组件缺点:
     this指向复杂   
    生命周期复杂+性能差+版本问题   相同得逻辑分散到不同得生命周期里面  +维护困难     
    复用能力差:高阶组件   增加组件层级  臃肿;
    2:函数组件缺点: 
    ui组件   纯函数 没有状态   没有生命周期   没有this指向问题    涉及状态:和redux配合

    3:版本出现16.8:hooks作用:  function  增强=>class具备类组件得功能                                                                                         增强得本质=特殊函数=钩子函数(hooks)

    增强方向:存储状态,副作用操作 性能优化


    4:常见 得hooks
    useState状态
    userEffest 副作用
    useMemo 缓存:性能优化
    useRef DOM 引用
    useCallback  性能优化

    useImperativeHandle 暴露指定子组件方法
    useLayoutEffect处理浏览器渲染之前执行
    useDebugValue   处理调试

    自定义hooks  


    01-声明  在函数组件中 直接用useState声明
    02-参数  useState唯一参数  =>初始化state值
    03-返回值:是一个数组,【状态state,改变state方法】
    扩展:{可以用里面得值得count}
    状态state数据类型可以是普通数据类型  也可以是复杂数据类型
    04-读取状态 直接通过表达式{state}
    05-更新状态:直接调用setstate,


    4:闭包对函数进行持有,所以数据可以累加


    数组解构:  名称可以自定义,所以可以有不同得名字去设置,可以设置多个状态值
    惰性初始化 让性能提升。

    setstate同步还是异步---有可能是异步的
    分条件   生命周期里面,合成事件是异步的,在setTimout里面是同步的


    累加陷阱
    先执行同步的后执行异步的 --异步一直等待上面的值   优先执行同步代码

    用回调函数里面传递一个参可以解决累加问题,参数是上一个state


    异步先执行log     setstate可以批量更新,修改数据,节约性能

    在定时器里面的方法都是同步的(执行完毕得到值才进行下一步),在合成事件里面方法都是异步的。

    修改方法用和原先比较  进行覆盖


    怎么解决累加问题   hooks应用场景


    类组件  state值一样  不应该触发render  所以要进行性能优化

    优化方案:
    01-方案一:shouldcomponentUpdate生命周期   (它来判断render该不该更新)
    {下一个改变的参数触发更新的数据条件(nextprops,nextState}当nextProps和要修改的数据进行做对比,如果不同就更新

    方案二:

     

  • 相关阅读:
    PyTorch笔记 - Attention Is All You Need (2)
    数据结构之二叉树
    抛射体运动在游戏开发中的实践
    sort方法实现复杂排序
    SpringSecurity系列——安全Http响应头day8-2(源于官网5.7.2版本)
    【图神经网络论文整理】(五)—— Self-Attention Graph Pooling:SAGPool
    代码随想录刷题|LeetCode 738.单调递增的数字 714. 买卖股票的最佳时机含手续费 968.监控二叉树
    Kafka学习笔记(三)
    C语言之ASC转hex
    机器学习(四十二):遗传算法对机器学习多分类器的寻优
  • 原文地址:https://blog.csdn.net/m0_61464384/article/details/125684143