Почему кнопка «Назад» ломает части моего приложения React? - PullRequest
0 голосов
/ 12 февраля 2019

Я создаю приложение с маршрутизацией на стороне сервера и реакцией / редукцией в качестве внешнего интерфейса.

Одним из моих компонентов реагирования является компонент поиска, который отображает результаты на основе параметров поиска в URL-адресе.Когда я обновляю поиск, параметры URL также обновляются с помощью window.history.pushState.

. Но когда я нажимаю кнопку «Назад», части моего приложения демонстрируют странное поведение.Компонент результатов поиска перезагружается как кеш браузера и теряет все свои функции реагирования / редукции.Панель поиска, однако, сохраняет функциональность реагирования / редукции.

Я попытался перехватить событие с помощью componentWillUnmount, но кнопка «назад» не приводит к полному размонтированию React.

Я попытался перехватить кнопку возврата через popstate, но нет способа предотвратить дефолт с помощью события popstate.Также нет события, которое обнаружит, когда кэш завершит загрузку после того, как вы нажмете кнопку «Назад».

Я предполагаю, что у React есть решение для этого, но я не смог его найти.

Есть ли способ решить эту проблему в приложении без маршрутизатора React?

Чтобы было ясно, проблема в том, что мое приложение теряет свою функциональность React / redux, когда я нажимаю кнопку "Назад".

...