簡體   English   中英

React Native:當您滑回已安裝的屏幕時如何觸發事件?

[英]React Native: how do you trigger an event when you swipe back to a screen that's already mounted?

在我的 React Native 應用程序中,我有一個想要在某個屏幕出現時觸發的事件。 我將事件放在componentDidMount中,因此它會在屏幕首次加載時觸發,但是如果我離開屏幕並且向左滑動以返回屏幕,則屏幕已經安裝,因此不會觸發事件。

我應該如何處理這個?

如果您使用react-navigation您可以在componentDidMount中執行此操作以在已安裝的屏幕上觸發事件。

componentDidMount() {
    const {navigation} = this.props;
    this.onFocusTrigger = navigation.addListener('focus', () => {
      // trigger your event
    });
  }

除了'focus' ,您還可以根據需要使用以下功能。

  • willFocus
  • didFocus
  • didBlur
  • willBlur

您需要像這樣在 componentWillUnmount 中取消訂閱偵聽器

componentWillUnmount() {
    this.onFocusTrigger();
  }

這取決於您的導航框架。 例如,如果您使用 React Navigation,則應該查看Navigation Events (確保您使用的文檔版本與您正在使用的版本相符。)

暫無
暫無

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

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