为什么需要 Hooks

Hooks 让我们可以在函数组件中使用状态和其他 React 特性。

useState

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

函数式更新

setCount(prev => prev + 1);

useEffect

处理副作用:

useEffect(() => {
  // 执行副作用
  return () => {
    // 清理函数
  };
}, [dependencies]);

useCallback & useMemo

优化性能:

const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
const memoizedCallback = useCallback(() => doSomething(a, b), [a, b]);

自定义 Hooks

提取可复用逻辑:

function useLocalStorage(key, initialValue) {
  // 实现...
}