ReactNative实现通知监听事件

事例1:react

只在rn里面发送和接受消息。android

A界面:ios

import  {DeviceEventEmitter} from 'react-native';
//...

componentDidMount(){
    this.subscription = DeviceEventEmitter.addListener('xxxName’, Function);
};

componentWillUnmount(){
    this.subscription.remove();
};

B界面:react-native

import  {DeviceEventEmitter} from 'react-native';
//
//调用事件通知
DeviceEventEmitter.emit('xxxName’,param);

 

 

事例2:this

要在ReactNative项目中实现通知事件监听,主要在Native中实现一个转发机制。spa

如图,在ios程序中注册一个方法,让react来调用。3d

这个注册的方法就是一个桥梁,通知发送这个消息,在react中能够注册一个监听者,监听接收这个方法。code

如图,component

react调用注册方法,至关于发送消息。对象

 

最后,在须要监听事件的地方,增长事件监听者。

记住,视图移除后,要注销监听事件。

 

固然,若是不想分别在ios和android中写注册方法,也能够使用下面介绍的setNativeProps的方法。

 

事例3:

首先,在须要根据DOM来更新视图的对象中实现setNativeProps方法,如图

而后在change方法中获取DOM节点,调用setNativeProps方法。

这样,就可以指定更新视图了。

是否是很简单。^_^

另外,系统组件通常都已经实现了setNativeProps方法,因此,使用setNativeProps的通常都是自定义的组件。