標籤:
var Grandson = React.createClass({ handleSelect: function(event) { var s = event.target.value + "人"; this.props.handleSelect(s); }, render: function(){ return ( <div style={{border: "1px solid red",margin: "10px"}}>{this.props.name}: <select onChange={this.handleSelect}> <option value="男">男</option> <option value="女">女</option> </select> </div> ) }});var Child = React.createClass({ handleVal: function(event) { var v = event.target.value + "@china"; this.props.handleVal(v); }, render: function(){ return ( <div style={{border: "1px solid green",margin: "10px"}}> {this.props.name}:<input onChange={this.handleVal}/> <Grandson name="性別" handleSelect={this.props.handleSelect}/> </div> ) }});var Parent = React.createClass({ getInitialState: function(){ return { username: ‘‘, sex: ‘‘ } }, handleVal: function(v){ this.setState({username: v}); }, handleSelect: function(s) { this.setState({sex: s}); }, render: function(){ return ( <div style={{border: "1px solid #000",padding: "10px"}}> <div>使用者姓名:{this.state.username}</div> <div>使用者性別:{this.state.sex}</div> <Child name="姓名" handleVal={this.handleVal.bind(this)} handleSelect={this.handleSelect.bind(this)}/> </div> ) }});React.render( <Parent />, document.getElementById(‘test‘));
【react】子組件向父組件傳值2