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