function ParentComponent() {
const [count, setCount] = useState(0);
// 每次 ParentComponent 重渲染,这个对象都会被重新创建
const config = { theme: 'dark' };
const handleClick = () => {
console.log("Button clicked");
<button onClick={() => setCount(c => c + 1)}>
<ChildComponent config={config} onClick={handleClick} />
// 使用 React.memo 包装,仅在 props 变化时才重渲染
const ChildComponent = React.memo(function Child({ config, onClick }) {
console.log("ChildComponent is rendering...");
return <button onClick={onClick}>Child Button</button>;