常用的hooks

useState:定义state的数据,参数是初始化的数据,返回值两个值1. 初始化值,2. 修改的方法

useEffect:副作用函数,顾名思义,副作用即只有使用过后才会产生副作用

  1. 当作生命周期来使用: 第二个参数如果没写的话,页面一更新触发,compoentDidMount compoentDidUpdate
  2. 第二个参数如果空数组的话,只执行一次,compoentDidMount
  3. 数组中跟某些变量,当作监听器来使用,监听数据的变化,
  4. useEffect是一个副作用函数,组件更新完成后触发的函数
  5. 如果我们在useEffect 返回一个函数的,组件被销毁的时候触发

useMemo:用来计算数据,返回一个结果,监听数据的变化,第二个参数就是监听的数据,具有缓存性

useMemo和useEffect 相比较来说,useMemo 是组件更新的时候触发生命周期

useMemo是怎么做性能优化的?

当父组件向子组件组件通信的时候,父组件中数据发生改变,更新父组件导致子组件的更新渲染,但是如果修改的数据跟子组件无关的话,更新子组件会导致子组件不必要的DOM渲染,是比较消耗性能的,这个时候我们可以使用useMemo或者memo做组件的缓存,减少子组件不必要的DOM渲染

useCallback:当父组件向子组件传递函数的时候,父组件的改变会导致函数的重新调用产生新的作用域,所以还是会导致子组件的更新渲染,这个时候我们可以使用useCallback来缓存组件

useRef:相当于createRef的使用,创建组件的属性信息

useContext:相当在函数组件中获取context状态数的内容信息

useReducer:useReducer是用来弥补useState的补不足, 可以把数据进行集中式的管理,单独处理数据的逻辑信息

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《常用的hooks》
文章链接:https://zhuji.vsping.com/8357.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。