react native 使用navigation进行页面反向传值(亲测有效)

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重新渲染啦~

你可能感兴趣的:(react-native,react,native,navigation)