console.log()
useState
变量不会重置(React 记住 state
的值)<aside> 💡
React 通过 virtual DOM diffing 机制对比新旧 JSX, 只更新变化的部分, 不会修改整个 DOM
</aside>
state
发生变化props
发生变化props
没变)React.memo()
用于优化子组件,当 props
没有变化时,防止子组件不必要的 Re-render。
const Child = React.memo(() => {
console.log("Child re-rendered!");
return <p>I'm a child</p>;
});
props
变化不频繁的情况。props
是对象或函数,可能仍然会触发 Re-render,需要搭配 useMemo()
或 useCallback()
进行优化。useEffect()
适用于事件监听、API 请求、订阅等副作用,避免副作用在每次 Re-render 时都执行: