React Hooks 是 React 16.8 引入的新特性,它让我们可以在函数组件中使用状态和其他 React 特性。本文将详细介绍常用 Hooks 的使用方法。
useState - 状态管理
useState 是最基本的 Hook,它让我们在函数组件中添加状态:
javascript
import { useState } from 'react';
function Counter() {
const [count, setCount] = useState(0);
return (
<button onClick={() => setCount(count + 1)} >
点击次数: {count}
</button>
);
}
useEffect - 副作用处理
useEffect 用于处理副作用,如数据获取、订阅、手动修改 DOM 等。它相当于 componentDidMount、componentDidUpdate 和 componentWillUnmount 的组合。
javascript
useEffect(() => {
document.title = `点击次数: ${count}`;
return () => {
console.log('组件卸载');
};
}, [count]);
useContext - 跨层级通信
useContext 让组件可以访问 Context 的值,无需通过多层 props 传递。
自定义 Hooks
我们可以创建自定义 Hook 来复用逻辑。自定义 Hook 以 use 开头,内部可以使用其他 Hooks。
javascript
function useWindowSize() {
const [size, setSize] = useState({
width: window.innerWidth,
height: window.innerHeight
});
// ... 逻辑代码
return size;
}
掌握这些基础 Hooks 后,你就可以很好地使用 React 进行开发了。更多高级用法,如 useReducer、useMemo、useCallback 等,我们以后再深入探讨。