Как добавить подписку на defaultNavigationOptions - PullRequest
1 голос
/ 15 марта 2019

Я сталкивался с этим решением , пытаясь подписаться на обновления жизненного цикла навигации

Navigator.js

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

const MainNavigator = createAppContainer(App);

export default MainNavigator;

Iмне интересно, можно ли подписаться на события в этом navigator файле?Или у меня нет других вариантов, кроме как подписаться на каждый отдельный экран?

1 Ответ

0 голосов
/ 15 марта 2019

вы можете добавить слушателя для каждого экрана, как это

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

другие имена событий : 'onDidFocus', 'onWillBlur' ,'onDidBlur'

ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...