传递给反应路由器历史对象的push方法的state参数有什么用?

时间:2019-06-03 07:12:25

标签: reactjs react-router-dom

react的new Thread(new ThreadWorker()); 组件中可用的history对象具有一个Route方法,该方法接受一个位置对象和一个可选的push参数。对于这个state对象,我感到不知所措。如果有人可以阐明该state对象何时可以使用,如何传递然后再检索以具有某种用途,我会喜欢的。

2 个答案:

答案 0 :(得分:1)

如果您要将组件的当前状态传递到路由的交换组件并访问该组件,请使用, this.props.history.push("/GoTo", { ...response }),因此状态已通过。
您可以很好地在GoTo组件上采用或传递状态,
const state = this.props.location.state API说,就像解析数据一样,

e.g.    this.props.history.push("/GoTo", { some: 'state' })

答案 1 :(得分:0)

当用户单击按钮或提交表单时,我们希望将其导航到其他页面。

History对象负责导航:后退,前进,推送和替换

PUSH:push方法将在浏览器历史记录中添加一个新地址,因此您单击后退按钮,然后返回到原来的位置。

REPLACE:替换当前地址,因此我们没有历史记录。在登录页面中使用此方法。当用户登录并进入新页面时,如果他们单击“后退”按钮,则将无法返回。