父组件:
class myPage extends React.Component { render() { return ( <div> {/* 子组件 自定义page 是子组件要接受的属性 mypage是要传递的内容*/} <TabBar page="mypage"></TabBar> <div className="pd-md"> 我是一个mypage </div> </div> ); } }
子组件:
class TabBarComponents extends React.Component { constructor(props) { // 继承父组件 super(props); this.state = { // 接受父组件传的属性 selectedTab: props.page, }; } // 而后使用 this.state.selectedTab 这个值, 这个就是mypage .... }
子组件:将子组件的value值 text 传递给父组件app
class Input extends Component { changeTitle(event) { // 子组件调用 父组件经过props传递过来的方法 onChangeText,将要传递的值传进方法 this.props.onChangeText(event) } render() { return ( <div className="list-wrapper"> <input type="text" onChange={this.changeTitle.bind(this)} value={this.props.text}/> </div> ); } }
父组件:this
class myPage extends React.Component { constructor(props) { super(props); this.state = {newText: 'default'}; } changeText(event) { this.setState({ newText: event.target.value, }) } render() { return ( <div> <div className="pd-md"> <h3>我是一个mypage</h3> <div> {this.state.newText} {/* 子组件 */} <InputCompenent onChangeText={this.changeText.bind(this)} text={this.state.newText}></InputCompenent> </div> </div> </div> ); } }
子组件经过调用 props.onChangeText 方法,将值传递进来,父组件经过 changeText 方法来接受 传递进来的值。
套路:子组件经过调用 父组件传递的方法 传值。code
{ <div style={{ display: this.state.hasMore ? 'none' : 'block', textAlign: 'center', borderTop: '1px solid #ddd', width: '80%', paddingTop: '15px', marginLeft: 'auto', marginRight: 'auto', marginBottom: '70px' }}> 不要扯了,已经到底了! </div> }