React 16, React-Router, методы жизненного цикла не вызываются при изменении параметра URL-запроса относительно щелчка браузера - PullRequest
0 голосов
/ 21 января 2020

Чтобы сохранить изменения состояния при обновлении браузера sh, я обновляю параметр URL с помощью переменных состояния. Но проблема в React 16 - ни один из методов жизненного цикла не вызывается при нажатии кнопки браузера назад или вперед. URL будет обновлен, но вызовы методов жизненного цикла не будут вызываться. Одним из способов решения этой проблемы является установка параметра URL Query для поддержки каждого маршрута. Но это вызовет методы жизненного цикла, когда мы перейдем на вкладку «Приложение / браузер».

Есть ли лучший способ решить эту проблему.

1 Ответ

0 голосов
/ 21 января 2020

React предоставляет вам базовые c методы жизненного цикла, которые необходимы, и мы должны выяснить, как мы можем использовать их наилучшим образом. В вашем сценарии вы можете сделать то же самое. Просто используйте хук жизненного цикла componentDidUpdate и проверьте, содержит ли URL переменные, которые вы передали, если они присутствуют, это означает, что страница обновляется.

Вы можете получить params, используя объект history или конкретно params объект react-router библиотеки.

...