react 子元件給父元件傳值
class Parent extends React.Component{ constructor(){ super(); this.state = { msg:"" } } show(v){ this.setState({ msg:v }) } render(){ return( <div> <Child getMsg = {this.show.bind(this)}/> <div>我是父元件=》{this.state.msg}</div> </div> ) } } class Child extends React.Component{ constructor(){ super(); this.state = { msg:"我是子元件的資料" } } componentWillMount(){ this.props.getMsg(this.state.msg); } render(){ return( <div>我是子元件=》{this.state.msg}</div> ) } } ReactDOM.render( <Parent/>, app );
首先從父元件開始,因為<Child /> 是父子元件通訊的橋樑,父元件中<Child fn={this.show.bind(this)}> 父元件給子元件傳一個函式show ,show 在父元件定義一下,然後子元件可以通過 this.props.fn();來呼叫這個函式,從而通過函式來傳值。子元件把想要傳的數寫進f n()中,父元件 show();()中直接接受引數就可以~