reactHooks的使用

useState的使用

在reactHooks中useState代替了原本的state,
const [age,setAge]=useState(18)
定义 age的初始值为18
通过setAge修改age的值

import React ,{ useState} from 'react'
function example(){
  const [age,setAge]=useState(18)
  return(
        

我叫aaa,性别{sex}

) } export default example

useEffect的使用

在reactHoooks中如果需要使用生命周期,则要用到useEffect,

import React ,{ useState,useEffect} from 'react'
function example(){
     const [age,setAge]=useState(18)
     useEffect(()=>{
        console.log(1111111)
    })
     return(
        

我叫aaa,性别{sex}

) } export default example

这里的useEffect相当于componentDidMountcomponentDidUpdatecomponentWillUnmount 的组合体。

    useEffect(()=>{
        console.log(1111111)//组件挂载时触发
        return ()=>{
            console.log('aaaaaaaaaaa')//组件销毁时触发
        }
    },[])

useEffect 可以传第二个参数,一个数组(effect 更新依赖)如 [age], 数组中任意元素的改变会触发组件更新, 如果传一个空数组, 则组件更新不会运行 hooks 函数, 仅仅在 mount 和 unmount 执行相应 hook。

createContext和useContext数组间传参

import React ,{ createContext,useContext} from 'react'
const countContext= createContext();
function Counter(){
    let count = useContext(countContext)
    return(

{count}

//count的值显示为0
) } function Component1 (){ const [cont,setCont]= useState(0) return ( ) } export default Component1

当组件上层最近的 更新时,该 Hook 会触发重渲染,并使用最新传递给 CountContext providercontext value 值。

useReducer

function Counter(){
    const [num,dispatch]= useReducer((state,action)=>{
        switch(action){
            case 'sub':
                return state - 1
            case 'add':
                return state + 1
            default:
                return state
        }
    },0)
    return(

现在的分数是{num}

) }

你可能感兴趣的:(reactHooks的使用)