React -- useEffect

83 阅读2分钟

useEffect

useEffect 是 React 中的一个 Hook,用于在函数组件中进行副作用操作(如数据获取、订阅、事件监听等)。

使用方法

useEffect(effect, dependencies)
useEffect 的步骤如下:
在函数组件中调用 useEffect,并传入一个回调函数作为 effect。这个回调函数将会在组件渲染完成后执行。
可选地,传入一个依赖项数组作为第二个参数。依赖项数组表示什么情况下需要重新运行 effect。如果不传入依赖项数组,则 effect 每次组件重新渲染时都会执行;如果传入一个空数组 [],则 effect 只会在组件挂载和卸载时执行;如果传入依赖项数组,effect 将会在依赖项发生变化时执行。

说明

  1. useEffect()本身是一个函数,由React框架提供,在函数组件内部调用即可
  2. useEffect()的作用就是指定一个副效应函数,组件每渲染一次,该函数就自动执行一次。组件首次在网页 DOM 加载后,副效应函数也会执行。

TIPS

  1. 类和函数的差异(不同的编程方法论)
  2. 类(class)是数据和逻辑的封装。  也就是说,组件的状态和操作方法是封装在一起的。如果选择了类的写法,就应该把相关的数据和操作,都写在同一个 class 里面。
  3. 函数一般来说,只应该做一件事,就是返回一个值。  如果你有多个操作,每个操作应该写成一个单独的函数。而且,数据的状态应该与操作方法分离。根据这种理念,React 的函数组件只应该做一件事情:返回组件的 HTML 代码,而没有其他的功能。
  4. 这个函数只做一件事,就是根据输入的参数,返回组件的 HTML 代码。这种只进行单纯的数据计算(换算)的函数,在函数式编程里面称为  "纯函数" (pure function)。