美文网首页
react-函数组件

react-函数组件

作者: 龙猫六六 | 来源:发表于2020-11-27 14:14 被阅读0次

    react的组件有两种形式:函数组件和类组件。本文主要介绍下函数组件。

    useState

    代码片段

    import {useState} from 'react'
    function example(){
    const [num, setNum] = useState(1)
      return (
        <div>test</div>
      )
    }
    

    使用描述

    • 1.[num, setNum] = useState(1)useState(1)返回变量,以及变量赋值函数,变量默认值num=1
    • 2.作用域:组件函数中使用变量num,通过setNum(updateData)函数更新num
    • 3.useState()可设置任何类型的值作为变量的默认值,包括函数
      [num, setNum]=useState(()=>{return 1})
    useEffect

    代码

    import React, {useState, useEffect} from 'react'
    function ThemeButton() {
        const [flag, setFlag] = useState(true)
        //A:对应类组件的生命周期函数componentDidMount + componentDidUpdate
        useEffect(() => {
            console.log('组件首次加载+更新')
        })
        
       //B:对应类组件的生命周期函数componentDidMount 
        useEffect(() => {
            console.log('组件首次加载')
        }, [])
    
       //C:对应类组件的生命周期函数componentDidMount + componentDidUpdate(只有flag更新才会调用)
        useEffect(() => {
            console.log('组件首次加载 或 flag发送变化')
        }, [flag])
    
       //D:对应类组件的生命周期函数componentWillUnmount 
        useEffect(() => {
            console.log('组件首次加载+更新')
            return ()=>{
                console.log('组件注销')
            }
        })
        return <div>test</div>
    }
    

    useEffect的功能对应类组件的生命周期函数,具体参考代码给予明确的举列。
    1.可以实现类组件的componentDidmount, componentDidupload, componentWillunmount
    2.实现部分页面的刷新,参考代码C

    useCallback

    useCallback的目的是在于缓存每次渲染时inline callback的实例,这样方便配合上子组件的shouldComponentUpdate 或者 React.memo 起到减少不必要的渲染的作用

    相关文章

      网友评论

          本文标题:react-函数组件

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