【发布时间】:2021-07-27 23:54:51
【问题描述】:
我正在构建一个具有多条路线的应用程序,因此您可以猜到我需要在不同路线之间传输数据,我正在使用react-router-dom 在这些路线之间导航/重定向,使用useHistory.push("/route")我的一条路线可以通过我的另一条路线访问,因为它们位于不同的模块中,如下所示
<Switch>
<Route exact path = "/">
<Home/>
</Route>
<Route exact path = "/login">
<Login/>
</Route>
<Route exact path = "/signup">
<Signup/>
</Route>
</Switch>
</Router>
谁能告诉我如何将一些状态从 /login 发送到 /home 等 任何帮助表示赞赏..
【问题讨论】:
-
就像你在 React 中做的一样,"lifting state up" 到你的顶级组件。您的子组件是
Routes 的事实根本不会改变这一点。如果样板太多,你可以考虑使用 React Context,或者像 Redux 这样的状态管理库。 -
我实际上从未在路由更改时尝试过这个
lifting up,只是我害怕页面刷新。当然,如果您没有看到硬刷新,这不是一个坏方法,尤其是在应用Context的情况下。
标签: javascript reactjs module react-redux react-router-dom