Как работает функция goBack в Reash router hashHistory - PullRequest
0 голосов
/ 27 июня 2018

Я использую React-router 3.2.0, поэтому в приложении есть кнопка, для которой я вызвал функцию goBack hashHistory, как показано ниже

Router.hashHistory.goBack();

Я отлично работаю, но мне нужно добавить условие перед вызовом. Так что моя проблема в том, что если я перейду между 3 ссылками

  1. Главная
  2. Панель приборов
  3. Настройки

Сначала это будет Home, затем я перешел на Dashboard, затем Settings. Теперь я нажал на кнопку, для которой я вызвал функцию goBack(), в то время текущее местоположение истории Settings, оно переместилось на Dashboard, а затем Home после достижения значения Home таких местоположений истории не существует.

Так что мне нужно проверить, есть ли еще история или нет. Что-то вроде

if(/*history exist*/){
 call goBack();
} else {
 //do my stuff
}

Есть ли способ сделать это в реакции на маршрутизатор версии 3.2.0?

1 Ответ

0 голосов
/ 27 июня 2018

Объект history в react-router имеет свойство length, указывающее, сколько записей в стеке .

if (history.length !== 0) {
 goBack();
} else {
 // do my stuff
}
...