子组件点击了按钮更改了自己的state触发render更新,并没有去更改父组件的state状态,那么父组件要怎么感知到子组件是已经重新render过了?
父组件代码
import React from 'react';
import TodoItem from './TodoItem.js';
class TodoList extends React.Component{
constructor(){
super();
}
render(){
return (
<div>
<TodoItem/>
</div>
)
}
}
export default TodoList;
子组件
import React from 'react';
class TodoItem extends React.Component{
constructor(){
super();
this.state = {
greet:'hi'
}
this.handlerChange = this.handlerChange.bind(this);
}
render(){
return (
<div>
<div>{this.state.greet}</div>
<button onClick={this.handlerChange}>改变state</button>
</div>
)
}
handlerChange(){
this.setState(()=>{
return{
greet:'hello'
}
})
}
}
export default TodoItem;
父组件和子组件的通信使用props ,子组件和父组件的通信使用回调函数