如何在DefaultNavigationOptions上添加订阅



我遇到了这个解决方案,试图订阅导航生命周期的更新

navigator.js

const App = createStackNavigator(
  {
    screen1: { screen: MainScreen },
    screen2: { screen: SecondaryScreen },
  },
  {
    cardStyle: {
      backgroundColor: 'transparent'
    }
  }
);
const MainNavigator = createAppContainer(App);
export default MainNavigator;

我想知道是否可以订阅此navigator文件中的事件?或者我别无选择,只能在每个单独的屏幕上订阅?

您可以为每个屏幕添加侦听器

constructor(props) {
        super(props);
        this.props.navigation.addListener(
            'willFocus',//event name
            payload => {
                //do your work here
            }
        );
    }

其他事件名称'onDidFocus', 'onWillBlur' ,'onDidBlur'

参考

相关内容

  • 没有找到相关文章

最新更新