React Hooks 是 React 16.8 版本引入的新特性,它允许你在不编写类的情况下使用 state 以及其他的 React 特性。Hooks 让函数组件也能拥有类组件的特性,使得组件更加简洁和可重用。

常用 Hooks

以下是一些常用的 React Hooks:

  • useState:用于在函数组件中添加 state。
  • useEffect:用于在组件挂载和卸载时执行副作用操作。
  • useContext:用于访问 React 上下文(Context)。
  • useReducer:用于替代 useState 的复杂逻辑。
  • useCallback:用于记忆回调函数。
  • useMemo:用于记忆计算结果。

useState

useState 是最常用的 Hook,它允许你在函数组件中添加 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

useEffect 用于在组件挂载和卸载时执行副作用操作,例如数据获取、订阅或手动更改 DOM。

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

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

  useEffect(() => {
    fetch('/api/data')
      .then(response => response.json())
      .then(data => setData(data));
  }, []); // 空依赖数组表示这个 effect 只在组件挂载时运行一次

  return (
    <div>
      {data ? <div>{JSON.stringify(data)}</div> : <p>Loading...</p>}
    </div>
  );
}

更多关于 React Hooks 的信息,请访问React 官方文档

图片示例

以下是一些 React Hooks 相关的图片:

React Hook
Hooks State
Hooks Effect