Я пытаюсь выяснить, как заставить приложение React SPA поддерживать состояние, когда пользователь перемещается с помощью кнопок браузера назад/вперед. Например, пользователь заполняет форму, затем он перемещается назад и вперед, и форма автоматически восстанавливается.
Я просмотрел много JavaScript-маршрутизаторов, но никто, кажется, не исправляет эту проблему... (или даже вообще).
В настоящее время я использую React Router 4, и это шаблон, который я принимаю:
- когда программно покидает страницу, я сначала сохраняю текущее состояние страницы с помощью
history.replace(this.state)
; затем я выхожу из страницы с помощьюhistory.push(newLocation)
- когда компонент страницы создается (
componentWillMount
), я проверяю дляthis.props.location.state !== undefined
и если это так, я восстанавливаю его с помощьюthis.setState(this.props.location.state)
Мой вопрос: правилен ли приведенный выше шаблон? предложил? Есть ли лучший и широко принятый способ?