React Hook---useEffect
import React, { createContext, useEffect, useState } from 'react'
export default function index() {
const [name, setname] = useState<number>(1)
useEffect(() => {
//相当于componentDidMount:完成第一次挂载渲染,和componentDidUpdata:数据发生改变
console.log('状态改变或挂载'+name)
//return相当于componentWillUnMount:组件卸载
return () => {
console.log('卸载'+name)
}
}, [name])//[]可有可无,没有组件状态一改变就执行函数体,【】时不监听所有state,【name】:只监听name state
/*
什么都不传,组件每次 render 之后 useEffect 都会调用,相当于 componentDidMount 和 componentDidUpdate。
传入一个空数组 [], 只会调用一次,相当于 componentDidMount 和 componentWillUnmount。
传入一个数组,其中包括变量,只有这些变量变动时,useEffect 才会执行。
*/
return (
<div>
<button onClick={()=>{
setname(name+1)
}}>+1</button>
{name}
</div>
)
}
react详细生命周期请看:https://www.cnblogs.com/fei-yu9999/p/15087153.html

浙公网安备 33010602011771号