【注意】模拟 WillUnMount,但不完全相等

  1. useEffect(() => {
  2. // 此处并不完全等同于 willUnMount
  3. // props 发生变化(即更新),也会执行结束监听
  4. // 准确的说,返回的函数会在下一次 effect 执行之前被执行
  5. return () => {
  6. }
  7. })

useEffect 中返回函数 fn

  • useEffect 依赖 [],组件销毁是执行 fn,等于 WillUnMount
  • useEffect 无依赖或依赖[a, b],组件更新时执行 fn
  • 即,下一次执行 useEffect 之前,就会执行 fn,无论更新或卸载