Страница не обновляется после того, как нажата глубокая ссылка на ту же страницу - PullRequest
0 голосов
/ 15 мая 2019

Я использую React-навигацию для обработки глубоких ссылок.

Допустим, я нахожусь на странице BusinessProfile, на которой в настоящее время отображаются детали для BUSINESS B1 . Я нажимаю кнопку «Домой» и сверну свое приложение. Когда я нажимаю на глубокую ссылку, myapp: // BusinessProfilePage / B2 , он переходит на страницу BusinessProfile, но все равно отображает результат для Business B1. Функция получения сведений о бизнесе для B2 не вызывается.

Как я могу обновить страницу, когда страница открывается по глубокой ссылке.

P.S. Я не могу вызвать функцию в componentDidUpdate, потому что когда вызывается функция для получения Business Detail, она обновляет состояние, которое затем вызывает componentDidMount снова.

1 Ответ

0 голосов
/ 15 мая 2019

Вы должны вызвать свою функцию в слушателе для события change, равного AppState:

import { AppState } from 'react-native';

componentDidMount() {
  AppState.addEventListener('change', this._handleAppStateChange);
}

_handleAppStateChange = (nextAppState) => {
  if (nextAppState === 'active') { // App has come to the foreground
    if(this.state.currentBusiness.ID != (ID received in deep link)) // Need to get data
         this.getBusiness(ID received in deep link);
  }
 };

Принятие моих лучших предположений в отношении имен переменных, которые вы не предоставили, и кода (вы всегда должны включать примеры кода при описании вашей проблемы :)), но вы поняли.

...