簡體   English   中英

屏幕切換時的反應導航調用功能

[英]React-navigation call function on screen change

當用戶更改屏幕時,我需要從服務器獲取數據以加載用戶設置。 它由類中的函數完成。 我努力了:

componentWillMount(){
  console.log("Sent to function");
  this.onSaveCats('initialize');
}

什么不向控制台日志發布任何內容。 在更改新屏幕時,我沒有找到觸發功能的好方法。 我有什么想念的嗎?

  "dependencies": {
    "expo": "^20.0.0",
    "react": "16.0.0-alpha.12",
    "react-native": "^0.47.0",
    "react-native-radio-buttons": "^1.0.0",
    "react-navigation": "^1.0.0-beta.11"
  }

在反應導航中,我們可以訂閱偵聽器並添加相應的回調。 我們可以訂閱的四個事件是:willFocus,willBlur,didFocus和didBlur。

在這種情況下的用法:

    export default class AnyScreen extends Component{
     constructor(props){
       super(props);
       const didBlurSubscription = this.props.navigation.addListener(
       'didBlur',
       payload => {
             console.debug('didBlur', payload);
       });
      }
    }

您也可以通過將“ didBlur”替換為其他任何選項來為didFocus添加類似的訂閱。

偵聽完成后,甚至可以刪除偵聽器訂閱:

didBlurSubscription.remove();

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM