react native 刷新機制----通知

在項目中,不知道你們有沒有遇到這樣的一個問題,好比說有兩個頁面A,B。A頁面中有某個按鈕點擊後能夠跳轉到B頁面,如今有一個需求就是,我在B頁面中作了某些操做,而後點擊回退按鈕,回到A頁面,A頁面中的數據也須要刷新過來。嗯,若是是作過android開發的朋友必定會知道,解決這樣的需求的方法有不少,好比能夠使用activity的生命週期,也能夠使用廣播等等,可是若是在react native中呢??react

咱們看一下官網能夠知道,react native的生命週期不是針對於頁面的,而是組件,什麼意思呢?也就是說這個生命週期是組件的生命週期,而不是頁面的生命週期,頁面在跳轉的時候,頁面就會回調相應的生命週期的方法,可是組件在頁面跳轉的時候不必定會回調相應的生命週期方法,因此react native中,使用生命週期這個方式來刷新頁面,並非最好的選擇。那麼react native中有沒有一個相似與廣播這樣的東東呢。有的,就是這個東西:DeviceEventEmitter.android

在頁面A中進行註冊:react-native

 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中就能夠進行掉用了:spa

1 import  {
2 DeviceEventEmitter
3 } from 'react-native';
4 
5 //調用事件通知  param是指傳遞的相應參數
6 DeviceEventEmitter.emit('xxxName’,param);

這樣,咱們就實現了頁面的刷新了。code

相關文章
相關標籤/搜索