React Router +后退按钮正在重置我的应用程序状态

问题描述 投票:0回答:1

我正在使用React Router Dom和BrowserRouter对象为我正在构建的站点启用基于浏览器的导航。导航效果很好,但如果用户点击后退按钮,我的整个应用程序状态将被清除干净。

我不确定为什么会这样。我试过四处寻找,但我发现的所有答案都没有提到为什么App状态会被重置。

这是我的实现:

<BrowserRouter>
    <Switch>
        <Route path="/" exact render={()=><LandingPage/>}
        <Route path="/about" render={()=><About/>}
    </Switch>
</BrowserRouter>

我做错了什么吗?任何有React Router工作经验的人都可以给我一些建议吗?非常感谢!

reactjs react-router
1个回答
1
投票

如果像我这样的人将来遇到这个问题并从谷歌来到这里,这就是正在发生的事情:

  1. React Router不会在页面加载之间存储状态。它只是在组件之间路由流量并处理历史记录等。
  2. 您需要一个单独的状态管理存储来保存状态更改。 (推荐使用Redux)。

感谢@charlietfl获取信息。

© www.soinside.com 2019 - 2024. All rights reserved.