React Router: заменить состояние местоположения, затем goBack, состояние местоположения не определено - PullRequest
0 голосов
/ 22 января 2020
this.props.history.replace({
  state: {
    from: 'dashboard'
  }
});

this.props.history.goBack();

Значение this.props.location.state равно undefined при использовании this.props.history.goBack() после обновления this.props.location.state. Но

this.props.history.push({
  pathname: '/',
  state: {
    from: 'dashboard'
  }
});

работает и сохраняет значение this.props.location.state.

Любая идея, как я могу обновить this.props.location.state, затем использовать this.props.history.goBack?

1 Ответ

1 голос
/ 22 января 2020

Согласно официальным документам:

  • pu sh (путь, [состояние]) - (функция) Добавляет новую запись в стек истории
  • replace (путь, [состояние]) - (функция) Заменяет текущую запись в стеке истории
  • go (n) - (функция) Перемещает указатель в стеке истории на n записей
  • goBack () - (функция) Эквивалентно go (- 1)
  • goForward () - (функция) Эквивалентно go (1)

так что лучше использовать this.props.history.push({}), если вы хотите использовать goBack()

, для лучшего понимания вы можете посетить response-router-dom , history

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...