React Hooks 是 React 16.8 版本引入的一个新的特性,它允许你在不编写类的情况下使用 state 以及其他的 React 特性。下面是一些常用的 React Hooks 的介绍和使用方法。

常用 Hooks 列表

  • useState: 用于在函数组件中添加 state。
  • useEffect: 用于在组件渲染后执行副作用操作。
  • useContext: 用于在组件间共享数据。
  • useReducer: 用于替代 useState 的更复杂的状态逻辑。
  • useCallback: 用于记忆函数,避免不必要的重新渲染。
  • useMemo: 用于记忆计算结果,避免不必要的计算。

useState Hook

useState 允许你在函数组件中添加 state。下面是一个简单的例子:

import React, { useState } from 'react';

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

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

useEffect Hook

useEffect 用于在组件渲染后执行副作用操作,例如数据获取、订阅或手动更改 DOM。

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

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

  useEffect(() => {
    const fetchData = async () => {
      const response = await fetch('/api/data');
      const json = await response.json();
      setData(json);
    };

    fetchData();
  }, []); // 空依赖数组表示这个 effect 只在组件挂载时运行一次

  return (
    <div>
      {data && <pre>{JSON.stringify(data, null, 2)}</pre>}
    </div>
  );
}

本站扩展阅读

更多关于 React Hooks 的内容,可以参考[React Hooks 官方文档](/Community/Blog/React Hooks Official Docs)。

图片展示

这里展示一张 React Hooks 的图标:

React Hooks Icon