关于react-native 底部tab切换,页面刷新

问题:假如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();
  }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容