useEffect
useEffect是react提供的一个钩子函数,它可以替代componentDidMount、componentDidUpdate和componentWillUnmount三个生命周期函数。
参数1:逻辑处理函数;参数2:数组或者不传
- 第二个参数传入[],相当于 componentDidMount(组件挂载之后执行逻辑处理函数);如果逻辑处理函数返回一个回调函数, 该回调函数相当于componentWillUnmount(组件卸载之前调用)。
- 第二个参数传入一个数组,其中包含变量
(1)相当于 componentDidMount(组件挂载之后执行逻辑处理函数);如果逻辑处理函数返回一个回调函数, 该回调函数相当于componentWillUnmount(组件卸载之前调用)
(2)当变量更新导致组件更新后,会先执行回调函数,再执行逻辑处理函数。 - 第二个参数不传
(1)相当于 componentDidMount(组件挂载之后执行逻辑处理函数);如果逻辑处理函数返回一个回调函数, 该回调函数相当于componentWillUnmount(组件卸载之前调用)
(2)componentDidUpdate(组件更新之后),会先执行回调函数,再执行逻辑处理函数。
import { useEffect } from "react";
export function Test () {
useEffect(() => {
console.log('componentDidMount')
return () => {
console.log('componentWillUnmount')
}
}, [])
return (
<>
<p>test</p>
</>
)
}