React Router如何保持状态对象?

时间:2019-08-17 21:18:25

标签: reactjs react-router

我需要知道react-router-dom如何持久化状态对象,例如,我有一条这样的路由:“ http://localhost:3000/somepath/123”,如果我在新的浏览器选项卡上打开此路由,则状态对象显然是未定义的,如果我从某处重定向到该路由,那么状态是来自应用程序状态的对象,这是完全正常的...但是事实是,当我从其他路由重定向并刷新页面几次时,状态又是一个对象,即使刷新页面,如何反应持久状态?

<Link
  to={{
    pathname: '/somepath/:someid',
    state: state.obj[someid]
  }}
>
 Link to somepath
</Link>

1 个答案:

答案 0 :(得分:0)

React-router-dom不会保持状态。浏览器可以。
React Router使用历史记录API推送和弹出状态。

您描述的行为是history.state的工作方式。
因此,刷新后,浏览器将保留历史记录状态。
选中History API