Перенаправление на другой маршрут не работает - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть два элемента навигационной панели, которые имеют разные маршруты, когда я хочу переключаться с одной страницы на другую, щелкая элементы в навигационной панели, компонент не монтируется, но маршрут изменяется.

Я исследовал эту проблему и нашел решение методом componentWillReceiveProps().

Но я не уверен, что это решение.

Вот что я попробовал:

  1. Когда я объявляю маршруты, я передаю пропу currentRouteкомпоненты.

  2. Позже в componentWillReceiveProps проверяется следующий и этот реквизит currentRoute и, если они различны, то вызывается функция с сбросом состояния.

Код :

// ROUTES
if (route === '/intakeAnalytics') {
   return <Analytics userRole={userRole} currentRoute="/intakeAnalytics" />
}

if (route === '/adjusterAnalytics') {
      return <Analytics userRole={userRole} currentRoute="/adjusterAnalytics" />
}
// componentWillReceiveProps
  async componentWillReceiveProps(nextProps) {    
   if (nextProps.currentRoute !== this.props.currentRoute) {
      this.setDefaultData()
    }
  }

Примечание: Оба эти маршрута используют один и тот же компонент «Аналитика», то есть две разные аналитики, которые используют один и тот же компонент.

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