父组件与子组件之间的传值主要分为,父组件向子组件传值这个比较简单,第二种是子组件向父组件传值主要思想是:父组件向子组件传递一个函数,父组件传给子组件一个函数 然后将要传的值作为函数的参数返回给父组件
//父组件
class Test extends Component {
constructor(props) {
super(props)
this.state = {
flags: 1
}
}
_onPressButton(a) {//传给子组件的函数
this.setState({
flags: a
})
}
render() {
return (
<View>
<Biaoti navigation={this.props.navigation} />
<Greeting callback={this._onPressButton.bind(this)} />
<Text>结果:{this.state.flags}</Text>
</View>)}}
子组件
class Greeting extends Component {
constructor(props) {
super(props)
this.state = {
a: 4
}
}
render() {
return (
<View>
<TouchableOpacity onPress={() => {
setTimeout(() => { //使用setTimeout使改变的值立即生效
this.setState({ a: 444 }), this.props.callback(this.state.a) }) }} >
<Text>dsfghg</Text>
</TouchableOpacity>
</View>
)
}
}