这篇文章给大家分享的是有关react子组件如何向父组件传值的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
react中,在父组件中设定state的初始值以及处理该state的函数,同时将函数名通过以props属性值的形式传入子组件,子组件通过调用父组件的函数,进而引起state变化,达到在父组件中展示子组件产生的变化。
子组件需要控制自己的 state, 然后告诉父组件自己的state,通过props调用父组件中用来控制state的函数,在父组件中展示子组件的state变化。
/***实现在输入框输入邮箱时,在p中即时显示输入内容***/
<body>
<p id="test"></p>
</body>
//子组件
var Child = React.createClass({
render: function(){
return (
<p>
邮箱:<input onChange={this.props.handleEmail}/>
</p>
)
}
});
//父组件
var Parent = React.createClass({
getInitialState: function(){
return {
email: ''
}
},
handleEmail: function(event){
this.setState({email: event.target.value});
},
render: function(){
return (
<p>
<p>邮箱:{this.state.email}</p>
<Child name="email" handleEmail={this.handleEmail.bind(this)}/>
</p>
)
}
});
React.render(
<Parent />,
document.getElementById('test')
);
原理:
依赖 props 来传递事件的引用,并通过回调的方式来实现的,这样实现不是特别好,但在没有任何工具的情况下是一种简单的实现方式。
分析:
React中当state发生改变时,组件才会update。在父组件中设定state的初始值以及处理该state的函数,同时将函数名通过以props属性值的形式传入子组件,子组件通过调用父组件的函数,进而引起state变化,达到在父组件中展示子组件产生的变化。
感谢各位的阅读!关于react子组件如何向父组件传值就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!