# 父子组件通讯
父组件通过props 传递给子组件, props可以是 函数, 其他值.
子组件通过调用父组件传递过来的 函数来向父组件传递数据.
对于一些只负责渲染的组件,也就是无状态的组件,通常把state提升到父组件中. 由父组件统一管理.
class TodoList extends React.Component {
state = {
list:[1, 2, 3]
}
addTolist = (item)=>{
this.setState({
list:[...this.state.list].push(item)
});
}
render() {
return (
<div>
<AddBtn addToList={this.addTolist}/>
<List list={this.state.list}/>
</div>
)
}
}
function AddBtn(props){
const { addToList } = props;
return (
<button onClick={()=>{addToList(4)}}>add</button>
);
}
# 跨级组件通讯
使用context 或者 redux