Я начинаю изучать реакцию маршрутизатора, и у меня возникают некоторые проблемы с использованием функции goBack, которая находится в свойстве history в React Router.
У меня есть простой маршрут, где я рендерим фиктивный пост, формирую JsonPlaceHolder API и создаю кнопку для возврата, которая выполняет эту функцию.
returnToForwardPageHandler = () =>{
this.props.history.goBack();
}
теперь постзагружается динамически, в зависимости от идентификатора, который задан.
componentDidMount () {
if(this.props.match.params.id){
if ( !this.state.loadedPost || (this.state.loadedPost && this.state.loadedPost.id !== this.props.id) ) {
axios.get( 'https://jsonplaceholder.typicode.com/posts/' + this.props.match.params.id)
.then( response => {
// console.log(response);
this.setState( { loadedPost: response.data
} );
} );
}
}
}
но я получаю другой результат в зависимости от того, как указан идентификатор.
В моем компоненте, где находится идентификатор данного сообщения
postSelectedHandler = (id) => {
//this.setState({selectedPostId: id});
this.props.history.push('/' + id)
}
, он работает нормально, если я вручную установил состояние идентификатора.Но мне нужно дважды нажать кнопку (выполнить функцию returnToForwardPageHandler), если я использую this.props.history.push ('/' + id), разве результат не должен быть таким же, чего мне не хватает?