navigation正向传值很简单:
页面1到页面2,在页面1中设置
this.props.navigation.navigate('页面2',{info:info})
反向传值:
从页面2到页面1传值,需要利用回调函数,也就是页面1传递给页面2一个回调函数,在页面2中调用这个函数,通过这个函数对页面1进行setState,从而进行页面的重新渲染。
页面1中:
this.props.navigation.navigate('页面2',
{info: info,
callback: ((info) => { //回调函数
this.setState({
something: info
})
})
页面2中:
onPress={() => {
if (this.props.navigation.state.params.callback) {
this.props.navigation.state.params.callback(info)
}
}}
这样就可以实现在页面2中操作事件,页面1重新渲染啦~