使用 React-Router 在路由之间传递 props

Pass Props Between Routes Using React-Router

在 React-Router (1.0.0-rc) url params 中路由之间传递数据的唯一方法是什么?我有一个组件 A,它使用 History mixin,并有一个事件处理程序,该事件处理程序发出服务器请求,然后调用 that.history.pushState(null, '/B'); 以转换到由组件 B 处理的路由 B。 现在,我想将服务器返回的一些数据作为道具(例如 "login successful")传递给组件 B,或者以某种方式影响 B 的状态,但我找不到任何说明这一点的文档是可能的。有什么办法可以做到这一点,还是我需要将其作为 url 参数传递?

您有两个选择:

  1. 将数据作为查询参数传递
  2. 将应用程序的状态保存在路由之外的其他地方

对于 #2,您可以使用 redux 之类的东西,它将保留应用程序状态的 'global' 存储。然后,您可以从组件 AB.

访问此状态

使用本地存储或会话会话存储。在第一个路由器中设置数据,使用 set 在第二个路由器上获取它并获取 localstorage

的项目

https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage