UseEffect
useEffect
componentDidMount 是用于在 mount 过程结束的副作用
componentDidUpdate 是用于在 update 过程结束的副作用
useEffect = componentDidMount + componentDidUpdate
useEffect 模拟 componentDidMount
useEffect(()=>{
// 每次 mount 或者 update 都会调用这里
})
useEffect(()=>{
// 只有 mount 时会调用这里
},[])
useEffect 模拟 componentDidUnmount
useEffect(()=>{
// 只有 mount 时会调用这里
return ()=>{
// 只有 unmount 时会调用这里
}
},[])
useEffect 模拟 componentDidUpdate
const mounted = useRef();
useEffect(()=>{
if(!mounted.current){
mounted.current = true;
}else{
// do componentDidUpdate logic
}
})