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

时间:2018-09-06 18:52:50

标签: reactjs react-router

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

我不确定为什么会这样。我已经尝试过搜索,但是找到的所有答案都没有提到为什么要重置应用状态。

这是我的实现方式

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

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

1 个答案:

答案 0 :(得分:1)

如果像我这样的人将来会遇到此问题,并且来自Google,那么这就是发生的事情:

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

感谢@charlietfl提供的信息。