React Hooks 入门指南
React Hooks 让函数组件拥有了状态管理和副作用处理能力,从此告别繁琐的 Class 组件。
useState:状态管理
import { useState } from "react";
function Counter() {
const [count, setCount] = useState(0);
return (
<button onClick={() => setCount(count + 1)}>
点击 {count} 次
</button>
);
}
useEffect:副作用
处理数据请求、订阅、DOM 操作:
useEffect(() => {
fetch("/api/data").then(res => res.json()).then(setData);
return () => cleanup(); // 清理函数
}, []); // 空依赖 = 仅挂载时执行
自定义 Hooks
将逻辑抽成可复用的函数:
function useWindowSize() {
const [size, setSize] = useState({ w: 0, h: 0 });
useEffect(() => {
const handler = () => setSize({ w: innerWidth, h: innerHeight });
window.addEventListener("resize", handler);
return () => window.removeEventListener("resize", handler);
}, []);
return size;
}
Hooks 是现代 React 开发的基石,让代码更简洁、逻辑复用更优雅。