我有两个 React 功能组件:C1
和C2
. C2
嵌套在里面C1
:
const C2 = () => {
console.log("C2 Render");
return (
<div>I am Component 2</div>
);
};
const C1 = () => {
const [text, setText] = useState("Hello");
const MC2 = React.memo(C2, () => true);
return (
<div className="box">
<h1>The Button</h1>
<button
onClick={() => {
setText(`${text} b`);
}}
className="button">
Click me
</button>
<div>
{text}
</div>
<MC2 />
</div>
);
}
CodePen在这里。
问题
我知道一个组件在不同的情况下会被重新渲染。其中之一是父级重新渲染。
这就是为什么我在C2
. "C2 Render"
但是每次单击按钮时,我仍然可以看到控制台显示。
为什么?