美文网首页
hooks手记(一):useState useEffect us

hooks手记(一):useState useEffect us

作者: 小鲸鱼游阿游 | 来源:发表于2021-02-05 17:26 被阅读0次

useState 给函数组件添加状态

用法:接收一个参数作为初始值,返回一个数组

import react, { useState } from 'react'
const [num, setNum] = useState(0)
// => [变量,修改变量的函数] = useState(初始值: 0)

useEffect 给没有生命周期的组件,添加渲染结束的信号,在render之后执行,相当于生命周期中的componentDidMount componentDidUpdate

用法:

有两个参数:

  • 第一个参数是一个函数,第二个参 数是 依赖列表,只有依赖更新才会执行函数;
  • 返回一个函数,先执行返回函数,再执行参数函数
import react, { useEffect } from 'react'
useEffect(()=>{
  //先执行返回函数,再执行参数函数
    console.log("2")
    return () => {
    console.log("1")  
  }
},[]) // 数组为空,表示不依赖任何状态,只更新一次

useLayoutEffect 用法与useEffect相同,区别在于useLayoutEffect 会比 useEffect 先执行,它相当于生命周期中的componentWillMount

useEffectuseLayoutEffect区别:
在处理DOM的时候,在useEffect里面处理DOM,并且会改变页面的样式,可能会出现出现闪屏问题, 可以用useLayoutEffec,useLayoutEffect里面的callback函数会在DOM更新完成后立即执行,但是会在浏览器进行任何绘制之前运行完成,但是会阻塞浏览器的绘制。

相关文章

网友评论

      本文标题:hooks手记(一):useState useEffect us

      本文链接:https://www.haomeiwen.com/subject/hjrgtltx.html