我正在学习 React,我发现 React.memo() “不起作用”,因为我的组件在我对基于父类的组件所做的每次更新时都会重新渲染。但问题是组件上的道具不会改变,至少对我来说是有意义的
我使用 useEffect 钩子在重新渲染的屏幕上打印,尽管我使用 React.memo(Men)
const Men = props => {
useEffect(() => {
console.log("rendered");
});
return <p onClick={props.add}>{props.adder}</p>;
};
React.memo(Men);
class App extends React.Component {
state = {
counter: 0,
adder: "press"
};
add = () => {
this.setState(prevState => {
return {
counter: prevState.counter + 1
};
});
};
render() {
return (
<div className="App">
<p>{this.state.counter}</p>
<Men adder={this.state.adder} add={this.add} />
</div>
);
}
}
我希望在我的控制台中,useEffect 挂钩内的“渲染”消息只出现一次。