React 初学者最容易掉进的坑之一,是“看到 useMemo、useCallback、memo 就到处加”。
现代 React 的真实原则更像:
先把组件写对
再找真正慢的地方
最后才做有证据的优化const Panel = React.memo(function Panel({ temp }) {
return <div>{temp}°C</div>;
});const totalBill = useMemo(() => {
return rooms.reduce((sum, room) => sum + room.cost, 0);
}, [rooms]);const handleSave = useCallback(() => {
console.log('save');
}, []);#React Compiler —— 自动省电系统
React 生态现在的一个重要方向,是把一部分“本来手写 memo 的活”交给编译器自动做。
最重要的优化顺序:
- 先保证组件纯净
- 先减少不必要的 state 和 effect
- 先把数据结构设计好
- 真慢了再上 memo / useMemo / useCallback