React 路由器:保留以前访问过的"route"的状态



我有一个React应用程序(使用React Router(,有五个"路由"/子页面。

如果用户在子页面上输入信息(例如,选中复选框/在页面上的输入字段中输入文本(,然后访问另一个子页面,并返回到上一个子页面,我希望该子页面保留用户离开的状态。

我还需要能够在某个时候检索所有子页面的状态。

使用 React 路由器是否可能/可行,或者有更好的方法可以做到这一点?

如果您不想使用 Redux 或类似的东西来维护路由更改之间的数据,您可以随时拥有一个位于<Router>上方的包装组件,并通过 react-routers 渲染道具解决方案将数据传递到每个相关<Route>。但是,您需要为子节可能需要进行的每个更新提供回调,这不一定是可缩放的。

或者,另一种方法是通过参数(例如您可能在 URL 中经常看到的搜索筛选器(将子部分的状态从组件转移到 URL 中。然而,这并不总是可取的。

不过,实现Redux将是解决这个问题的更好解决方案。

最新更新