• 挂载阶段:组件首次创建并插入到 DOM 中的阶段
    useEffect(() => {
      console.log('代码只会在组件挂载后执行一次')
    }, [])
  • 更新阶段:组件的 props 或 state 发生变化时,就会触发更新阶段
    // 注意这里没有提供依赖数组
    useEffect(() => {
      console.log('代码会在组件挂载后以及每次更新后执行')
    })
    // 特定依赖更新时执行
    useEffect(() => {
      console.log('代码会在 count 更新后执行')
    }, [count])
  • 卸载阶段:组件从 DOM 中移除时进入卸载阶段
    useEffect(() => {
      return () => {
        console.log('代码会在组件卸载前执行')
      }
    }, [])

Pasted image 20250505165534Pasted image 20250505165544