在这个例子中,componentDidUpdate当我设置状态跟踪时触发。HelloMessage props和状态没有改变,为什么调用这个方法?如何防止这种情况?
class HelloMessage extends React.Component {
componentDidUpdate(prevProps, prevState) {
console.log('HelloMessage did update');
}
render() {
return <div>Hellooo</div>;
}
}
class App extends React.Component {
state = { trail: null }
componentDidMount() {
this.setState({ trail: 'First' });
}
render() {
return (
<div>
<HelloMessage />
<div>
{this.state.trail}
</div>
</div>
);
}
}
ReactDOM.render(
<App />,
document.getElementById('container')
);