美文网首页
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