Реагируйте на URL маршрута и просматривайте изменения, но функция компонента все еще активна.Зачем? - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть функция события, которая вызывается нажатием кнопки.Его цель - удерживать фиксированное положение тела, не допуская прокрутки, пока вы не нажмете кнопку еще раз, чтобы закрыть / выключить его.

Работает нормально, но когда я нажимаю на другую страницу, не выключая ее, она все еще активна.Это означает, что новая страница не будет прокручиваться, потому что положение тела фиксировано.

Я новичок в React FYI

Мой код:

bodyFixed(event) {
  document.body.classList.add('body-fixed');
}

bodyRelative(e) {
  document.body.classList.remove('body-fixed');
}

Я использую response-staticwithRouteData, RouteData, Router и у меня нет проблем на этих страницах.Но на страницах, таких как страница статьи, где маршрут не меняется таким же образом.Вот где я вижу проблему.

Есть ли что-то, с чем я могу обернуть это, чтобы при переходе на новую страницу вернуться к настройкам по умолчанию?

Пожалуйста, сначала спросите, нужно ли вамбольше информации, и я с удовольствием добавлю больше.

1 Ответ

0 голосов
/ 13 декабря 2018

Да, вы можете вызвать метод bodyRelative в componentWillUnmount ловушке жизненного цикла, чтобы сбросить класс.Что-то в этом роде:

  componentWillUnmount() {
    this.bodyRelative()
  }
...