在原生应用开发中,为了解决不同组件之间的数据交互问题,经常会用到广播,或者使用接口等方式,如Android的EventBus等框架。而在React Native中,则可以通过DeviceEventEmitter来实现。 例如有下面一个效果,用以模拟广播。
DeviceEventEmitter的用法和EventBus一样,都是观察响应模式。一个最简单的场景,A页面使用DeviceEventEmitter发送消息,然后B页面获取到消息,然后使用B页面的状态机更新内容即可。
那么A页面发送消息的代码如下:
代码语言:javascript复制import {
DeviceEventEmitter
} from 'react-native';
//调用事件通知,param是指传递的相应参数
DeviceEventEmitter.emit('xxxName’,param);
然后在B页面接受消息,
代码语言:javascript复制import {
DeviceEventEmitter
} from 'react-native';