React笔记 -- 组件传值
2019-03-26 本文已影响0人
lyking
通信问题
组件会发生三种通信。
- 向子组件发消息
- 向父组件发消息
- 向其他组件发消息
React 只提供了一种通信手段:传参。对于大应用,很不方便。
#组件通信的例子
#步骤1
class Son extends React.Component {
render() {
return <input/>;
}
}
class Father extends React.Component {
render() {
return <div>
<Son/>
<p>这里显示 Son 组件的内容</p>
</div>;
}
}
ReactDOM.render(<Father/>, mountNode);
看这个例子,想一想父组件如何拿到子组件的值。
#步骤2
class Son extends React.Component {
render() {
return <input onChange={this.props.onChange}/>;
}
}
class Father extends React.Component {
constructor() {
super();
this.state = {
son: ""
}
}
changeHandler(e) {
this.setState({
son: e.target.value
});
}
render() {
return <div>
<Son onChange={this.changeHandler.bind(this)}/>
<p>这里显示 Son 组件的内容:{this.state.son}</p>
</div>;
}
}
ReactDOM.render(<Father/>, mountNode);