useEffect

useEffect的作用是:

useEffect会在每次组件render之后,根据依赖变动来决定是否执行(触发一个副作用)。

四种产生副作用的时机:

  • 每次 render 后执行:不提供第二个依赖项参数。比如useEffect(() {})。
  • 仅第一次 render 后执行:提供一个空数组作为依赖项。比如useEffect(() {}, [])。
  • 第一次以及依赖项发生变化后执行:提供依赖项数组。比如useEffect(() {}, [deps])。
  • 组件 unmount 后执行:返回一个回调函数(用于清理上一次副作用的结果)。比如useEffect() { return () {} }, [])。