標籤:傳遞 lis log 重新整理 參數 操作 device 針對 實現
在項目中,不知道大家有沒有遇到這樣的一個問題,比如說有兩個頁面A,B。A頁面中有某個按鈕點擊後可以跳轉到B頁面,現在有一個需求就是,我在B頁面中做了某些操作,然後點擊回退按鈕,回到A頁面,A頁面中的資料也需要重新整理過來。嗯,如果是做過android開發的朋友一定會知道,解決這樣的需求的方法有很多,比如可以使用activity的生命週期,也可以使用廣播等等,但是如果在react native中呢??
我們看一下官網可以知道,react native的生命週期不是針對於頁面的,而是組件,什麼意思呢?也就是說這個生命週期是組件的生命週期,而不是頁面的生命週期,頁面在跳轉的時候,頁面就會回調相應的生命週期的方法,但是組件在頁面跳轉的時候不一定會回調相應的生命週期方法,所以react native中,使用生命週期這個方式來重新整理頁面,並不是最好的選擇。那麼react native中有沒有一個類似與廣播這樣的東東呢。有的,就是這個東西:DeviceEventEmitter.
在頁面A中進行註冊:
1 import { 2 DeviceEventEmitter 3 } from ‘react-native‘; 4 5 6 //註冊這個監聽事件 7 componentDidMount(){ 8 DeviceEventEmitter.addListener(‘xxxName’, Function); 9 };10 11 12 //在組件銷毀的時候要將其移除13 componentWillUnmount(){14 DeviceEventEmitter.remove();15 };
在頁面B中就可以進行掉用了:
1 import {2 DeviceEventEmitter3 } from ‘react-native‘;4 5 //呼叫事件通知 param是指傳遞的相應參數6 DeviceEventEmitter.emit(‘xxxName’,param);
這樣,我們就實現了頁面的重新整理了。
react native 重新整理機制----通知