问题:假如react-native底部tab有两个单元,首页A和个人中心B;首次加载tab A和tab B的时候,页面都会刷新,但是之后的切换操作都不会进行页面刷新(除非手动强制刷新)。
解决:只要切换到到tab B,B页面都刷新。
过程:利用DeviceEventEmitter在RN内的发送和接受需要刷新的动作。
1,在App.js文件或者首页添加下面代码(注册事件通知)
import {DeviceEventEmitter} from 'react-native';
componentDidMount() {
// 注册事件通知
DeviceEventEmitter.emit('testName’,param);
//testName:通知的名称 param:发送的消息(传参)
}
2,在B页面添加下面代码(接受通知,刷新页面)
listener=null;
componentDidMount(){
//testName:通知的名称 param:接收到的消息(传参)
this.listener =DeviceEventEmitter.addListener('testName',function(param){
// 自定义页面刷新动作
});
}
componentWillUnmount(){
// 移除通知
this.listener.remove();
}
网友评论