正向传值搞定了,免不了要方向传值,这里我采用的是类似iOS通知的方法
思路:第二个页面点击按钮,发送通知,然后第一个页面接受通知,处理事件,so......
RN里面需要用到一个DeviceEventEmitter,监听,相当也iOS的通知
需要导入
import {
AppRegistry,
View,
Text,
StyleSheet,
Navigator,
TouchableOpacity,
DeviceEventEmitter,//监听
}from 'react-native';
在需要的地方(第二个页面)
buttonAction() {
DeviceEventEmitter.emit('changeData','回传参数');
}
其他地方(第一个页面)
//在这个方法里面注册监听
//changeData 就是监听的名字,类似通知的名字
//value就是上面对应的“回传参数”,就是其他地方传过来的值
//两个参数,一个是监听名字,一个是方法(收到监听处理方法)
componentDidMount() {
this.subscription = DeviceEventEmitter.addListener('changeData', (value) =>{
this.setState({
paramData:value,
});
console.log('传过来的值是:'+value);
});
}
//页面移除时移除监听
//类似iOS dealloc里面移除通知
componentWillUnmount() {
this.subscription.remove();
}
这样就可以反向传值了(其实是全局传值......)
navgif.gif