Как обновить первый экран после появления второго экрана из стека response-native-navigation V2 - PullRequest
0 голосов
/ 20 марта 2019

Я использую Wix's реагировать на родную навигацию V2 в моем приложении для Android. Когда я нажимаю один экран и после всплывающего окна или нажатия кнопки назад предыдущий или первый компонент не рендерится и не выполняет какой-либо метод жизненного цикла. Даже мы не можем использовать пропуск реквизита в поп. Я хочу обновить эту предыдущую страницу, как я могу это сделать. Я просто выскакиваю на экран, как показано ниже

goBack = () => {

        Navigation.pop(this.props.componentId);
}

Я нашел эту проблему на GitHub https://github.com/wix/react-native-navigation/issues/2594, и он сказал, что эту проблему можно решить либо синхронизацией данных с использованием Redux / MobX, либо прослушиванием visibility events, но я не нашел событий видимости в V2. И не знаю, как поступить с редуксом.

1 Ответ

0 голосов
/ 28 марта 2019
    You can follow the below steps to do so:

    1). Subscribe for react-navigation's 'didFocus' event in the component's constructor(or componentDidMount or componentWillMount).
    // Subscribe for Event
    constructor(props) {
            super(props)
            this.didFocusSubscription = this.props.navigation.addListener(
                'didFocus',
                payload => {
                    // Refresh your screen here
                }
              );
        }

2). Do not forget to unsubscribe the event when the component will unmount.
    // UnSubscribe for Event
    componentWillUnmount = () => {
            this.didFocusSubscription.remove()
        }
...