Не удается смонтировать компонент при изменении маршрута в реакции - PullRequest
0 голосов
/ 22 апреля 2019

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

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

Я попробовал этот подход:

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

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

Код :

// THIS ARE 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, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...