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的通常都是自定義的組件。

相關文章
相關標籤/搜索