反应路由器:替换位置状态然后返回,位置状态未定义


this.props.history.replace({
state: {
from: 'dashboard'
}
});
this.props.history.goBack();

this.props.location.state的值在使用时this.props.history.goBack()更新this.props.location.stateundefined。但

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

工作并保留this.props.location.state的价值。

知道如何更新this.props.location.state然后使用this.props.history.goBack吗?

根据官方文档:

  • push(路径, [状态]( - (函数( 将新条目推送到历史记录堆栈
  • 替换(路径,[状态]( - (函数(替换历史记录堆栈上的当前条目
  • go(n( - (函数(将历史记录堆栈中的指针移动 n 个条目
  • goBack(( - (
  • function( 等价于 go(-1(
  • goForward(( - (函数( 等价于 go(1(

所以如果你想使用goBack(),最好使用this.props.history.push({})

为了更好地理解,您可以访问 反应路由器-DOM, 历史

相关内容

  • 没有找到相关文章

最新更新