react native之DeviceEventEmitter使用方法 - Go语言中文社区

react native之DeviceEventEmitter使用方法


react native 刷新机制----通知


在项目中,不知道大家有没有遇到这样的一个问题,比如说有两个页面A,B。A页面中有某个按钮点击后可以跳转到B页面,现在有一个需求就是,我在B页面中做了某些操作,然后点击回退按钮,回到A页面,A页面中的数据也需要刷新过来。嗯,如果是做过android开发的朋友一定会知道,解决这样的需求的方法有很多,比如可以使用activity的生命周期,也可以使用广播等等,但是如果在react native中呢??

我们看一下官网可以知道,react native的生命周期不是针对于页面的,而是组件,什么意思呢?也就是说这个生命周期是组件的生命周期,而不是页面的生命周期,页面在跳转的时候,页面就会回调相应的生命周期的方法,但是组件在页面跳转的时候不一定会回调相应的生命周期方法,所以react native中,使用生命周期这个方式来刷新页面,并不是最好的选择。那么react native中有没有一个类似与广播这样的东东呢。有的,就是这个东西:DeviceEventEmitter.


在页面A中进行注册:

import  {

    DeviceEventEmitter

} from 'react-native';

//注册这个监听事件

componentDidMount(){

  this.listener=DeviceEventEmitter.addListener('xxxName',()=>{});

};

//在组件销毁的时候要将其移除

componentWillUnmount(){

    this.listener.remove();

};

在页面B中就可以通知A页面了:

//发送通知

DeviceEventEmitter.emit('userNameDidChange', '通知来了');


这样,处理刷新很方便。可以省去很多异步回调代码量。

参考

版权声明:本文来源简书,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.jianshu.com/p/2f17bfb01929
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-01-08 22:40:39
  • 阅读 ( 1467 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢