事例1:
只在rn里面發送和接受消息。
A界面:
import {DeviceEventEmitter} from 'react-native'; //... componentDidMount(){ this.subscription = DeviceEventEmitter.addListener('xxxName’, Function); }; componentWillUnmount(){ this.subscription.remove(); };
B界面:
import {DeviceEventEmitter} from 'react-native'; //… //調用事件通知 DeviceEventEmitter.emit('xxxName’,param);
事例2:
要在ReactNative項目中實現通知事件監聽,主要在Native中實現一個轉發機制。
如圖,在ios程序中注冊一個方法,讓react來調用。
這個注冊的方法就是一個橋梁,通知發送這個消息,在react中可以注冊一個監聽者,監聽接收這個方法。
如圖,
react調用注冊方法,相當於發送消息。
最后,在需要監聽事件的地方,增加事件監聽者。
記住,視圖移除后,要注銷監聽事件。
當然,如果不想分別在ios和android中寫注冊方法,也可以使用下面介紹的setNativeProps的方法。
事例3:
首先,在需要根據DOM來更新視圖的對象中實現setNativeProps方法,如圖
然后在change方法中獲取DOM節點,調用setNativeProps方法。
這樣,就能夠指定更新視圖了。
是不是很簡單。^_^
另外,系統組件一般都已經實現了setNativeProps方法,所以,使用setNativeProps的一般都是自定義的組件。