基本概念:

useEffect 允许你在函数组件中处理副作用操作,如数据获取、订阅、手动操作 DOM 等。副作用操作是在渲染完成后进行的,因此它不会阻塞浏览器的渲染过程。

使用场景:

  1. 数据获取:在组件挂载后从服务器加载数据。

  2. 订阅:设置事件监听器或订阅 WebSocket。

  3. 清理:在组件卸载时清理副作用(如取消网络请求、移除事件监听器)。

  4. 手动 DOM 操作:在渲染后手动操作 DOM。

基本用法:

useEffect(setup, dependencies?)

import React, { useEffect, useState } from 'react';

function MyComponent() {
  const [data, setData] = useState(null);

  useEffect(() => {
    // 进行副作用操作,例如数据获取
    fetch('<https://api.example.com/data>')
      .then(response => response.json())
      .then(data => setData(data));
    
    // 清理副作用(可选)
    return () => {
      // 取消请求或移除事件监听器
    };
  }, []); // 依赖项数组

  return <div>{data ? data.message : 'Loading...'}</div>;

参数:

返回值:undefined

注意事项: