如果想要在组件第一次加载后获取该组件的dom元素,应当在以下哪个生命周期中进行
React组件的生命周期可分成三个状态:
按执行时机顺序依次为 (列举常见的,有些已废弃或者少的没列)
使用useEffect来模拟 3个最重要的生命周期
useEffect第一个参数为副作用函数, 第二个参数是依赖项数组,
副作用函数的依赖项,只有依赖项发生变化,才会重新执行函数
// 第二个参数, 依赖项为空数组
useEffect(()=>{console.log('第一次渲染时调用')},[]) //没有第二个参数代表监听所有的属性更新
useEffect(()=>{console.log('任意属性值改变')})
//监听多个属性的变化需要将属性作为数组传入第二个参数
useEffect(()=>{console.log('a的值变化了')},[a,b]) // 使用return
useEffect(()=>{
const timer = setTimeout(()=>{
...
},1000)
return()=>{
console.log('组件销毁前清除定时器/监听器')
clearTimerout(timer)
}
})