react 中何时使用 useEffect

发布时间: 更新时间: 总字数:410 阅读时间:1m 作者: IP上海 分享 网址

React 中的 useEffect Hook 用于处理副作用(side effects),例如:

  1. 网络请求:在组件挂载或更新时,需要从服务器获取数据。
  2. 设置 timer:在组件挂载时,需要设置一个 timer 来执行某些任务。
  3. 操作 DOM:在组件挂载或更新时,需要直接操作 DOM 元素。
  4. 订阅事件:在组件挂载时,需要订阅某些事件,例如 WebSocket 事件或浏览器事件。
  5. 清理资源:在组件卸载时,需要清理某些资源,例如关闭 WebSocket 连接或删除 timer。

使用 useEffect 的时机:

  1. 组件挂载:在组件首次挂载时,需要执行某些初始化操作。
  2. 组件更新:在组件的 props 或 state 发生变化时,需要重新执行某些操作。
  3. 组件卸载:在组件卸载时,需要清理某些资源。

useEffect 的基本语法:

import { useState, useEffect } from 'react';

function Example() {
  const [count, setCount] = useState(0);

  useEffect(() => {
    // 在组件挂载时,执行某些操作
    console.log('Mounted!');

    // 在组件卸载时,清理某些资源
    return () => {
      console.log('Unmounted!');
    };
  }, []); // 第二个参数是一个依赖项数组,空数组表示只在组件挂载时执行

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={() => setCount(count + 1)}>Increment</button>
    </div>
  );
}

在上面的示例中,我们使用 useEffect 来记录组件的挂载和卸载事件,并在组件卸载时清理某些资源。

Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数