У меня есть родительский компонент с именем «App», в котором используется дочерний компонент с именем «NewComp». Я определил жизненный цикл componentDidUpdate () внутри дочернего компонента, а не в родительском компоненте.
Родительский компонент:
class App extends Component {
state = {
count:0,
}
change = () =>{
this.setState({
count:this.state.count+1,
})
}
render() {
return (
<div>
<p>Count = {this.state.count}</p>
<button onClick={this.change}>Add Count</button>
<NewComp />
</div>
);
}
}
Дочерний компонент:
export default class NewComp extends Component {
componentDidUpdate(){
console.log('Child component did update');
}
render() {
return (
<div>
<h1>Child Component</h1>
</div>
)
}
}
Теперь каждый раз, когда я меняю родительское состояние кнопкой «Добавить счетчик», componentDidMount () в дочернем компоненте выполняется, даже если в дочернем компоненте нет изменений