Я начинаю реагировать, и у меня есть проект, использующий React Router (4.2.2), Redux, и я недавно добавил response-router-redux в надежде, что это решит мою проблему. У меня есть компоненты, чьи сохраненные состояния redux необходимо изменить в зависимости от взаимодействия с кнопками назад и вперед в браузере.
Например, у меня есть экран, содержащий подробную информацию об элементе, который щелкнул пользователь. Если я использую кнопку "Назад" в браузере и перехожу к другому моменту в истории, в котором было открыто это подробное представление, будет отображаться только самая последняя информация об элементе (из-за этого единственная информация в магазине) или иногда никакая информация не будет отображаться. прошедший.
Я думал, что response-router-redux поможет мне синхронизировать эти два, но, возможно, мне не хватает шага, который позволяет этому случиться. Я установил Redux Debug Tools и вижу там состояние, в которое хочу перейти, но как мне включить его, когда пользователь нажимает кнопку «Назад»? URL-адрес страницы сведений остается неизменным при каждом просмотре. Возможно, мне нужно добавить хэш-тег с конкретной информацией, но даже в этом случае, как мне найти правильную информацию в магазине?
Я открываю подробное представление вот так:
<Link to='/activityDetails'>
<ActivityButton
id={this.props.someData.someId}
/>
</Link>
И внутри ActivityButton:
openActivityDetails = () => {
this.props.showActivityDetailsScreen(this.props.id);
};
function matchDispatchToProps(dispatch) {
return bindActionCreators({
showActivityDetailsScreen: activityDetailsActions.showActivityDetails
}, dispatch)
}
render(){
return (
<div className={'activity-button'} onClick={this.openActivityDetails}>
<img
onClick={this.handleClick}
src={imgPath}
/>
</div>
);
}