A → B
使用 navigator 导航,用 goBack() 返回的时候传递参数
在 A 页面
this.props.navigation.navigate("B", { callBack: (data) => { //回调函数
this.setState({ studentCount: data }) } });
在 B 页面
onPress()=>{ this.props.navigation.state.params.callBack(data) this.props.navigation.goBack(); }
在使用 Android 机的时候,点击物理返回键的时候,并不会走 navigator ,所以需要加一个返回键的事件监听
1.在生命周期中监听
componentDidMount() { BackHandler.addEventListener('hardwareBackPress', this.onBackAndroid); } componentWillUnmount() { BackHandler.removeEventListener('hardwareBackPress', this.onBackAndroid); } onBackAndroid = () => { this.props.navigation.goBack(); this.props.navigation.state.params.callBack(data) return true }
2.待测试