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

Posted 遥望天涯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了react native 刷新机制----通知相关的知识,希望对你有一定的参考价值。

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

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

在页面A中进行注册:

 1 import  {
 2 DeviceEventEmitter
 3 } from ‘react-native‘;
 4 
 5 
 6 //注册这个监听事件
 7 componentDidMount(){
 8      DeviceEventEmitter.addListener(‘xxxName’, Function);
 9 };
10 
11 
12 //在组件销毁的时候要将其移除
13 componentWillUnmount(){
14     DeviceEventEmitter.remove();
15 };

在页面B中就可以进行掉用了:

1 import  {
2 DeviceEventEmitter
3 } from ‘react-native‘;
4 
5 //调用事件通知  param是指传递的相应参数
6 DeviceEventEmitter.emit(‘xxxName’,param);

这样,我们就实现了页面的刷新了。

 


 

以上是关于react native 刷新机制----通知的主要内容,如果未能解决你的问题,请参考以下文章

[技术博客]react native事件监听与原生通信——实现对通知消息的响应

React Native iOS,前台通知不起作用

重复本地通知在 react-native-push-notification 中不起作用

无法在 react-native 中获取 iOS 推送通知设备令牌

不显示特定通知 React Native

RN-第三方之react-native-pull 下拉刷新上拉加载