如何在导航到选项卡导航器的初始路径时执行功能?

How to execute a function upon navigating to the initial route of the tab navigator?

我有一个带有 3 条路线的选项卡导航器...中间的初始路线有一个在安装时执行的功能...此功能的目的是在每次用户前往时执行该初始路线,无论是通过滑动、点击导航栏还是点击 Android 上的后退按钮。那么是否有一种生命周期方法可以执行,我可以在这种情况下放置我的函数?或者有没有办法操纵导航选项来做到这一点?

谢谢。

基本上您想要跟踪当前哪个屏幕处于活动状态并执行您的功能。它可以使用 onNavigationStateChange

export default () => (
  <AppNavigator
    onNavigationStateChange={(prevState, currentState) => {
      const currentScreen = getCurrentRouteName(currentState);
      const prevScreen = getCurrentRouteName(prevState);

      if (currentScreen == initialScreen) {
        // Execute the function here
      }
    }}
  />
);

阅读文档:onNavigationStateChange