С react-router-dom
, нет, невозможно передать состояние с обратной навигацией. Объект history
может отправлять состояние только с действиями push
или replace
. Действия go
обновляют только указатель на текущее местоположение в стеке истории, т.е. go(-1)
эквивалентно goBack()
.
Если вам нужно сохранить данные, соотнесенные со стеком истории, или если вам нужно чтобы также «отправлять» данные во время обратной навигации, вам понадобится библиотека за пределами react-router-dom
. Redux был бы неплохим вариантом, если вы уже используете его, чтобы сохранить в состоянии либо данные, использованные во время навигации, либо наряду с выполнением history.goBack()
, чтобы также отправлять действие для сохранения некоторых данных «goBack» в состоянии, которое необходимо получить. через проверку на предыдущей странице. Другие, такие как Redux Sagas или Thunks, позволяют создавать побочные эффекты вместе с обновлением состояния. С их помощью вы можете создать свое собственное действие goBackWithState
, которое сохраняет некоторое состояние в вашем состоянии Redux , а затем выдает обратную навигацию.
response-router-dom history