reactjs - React Router:保留先前访问过的“路由”的状态
问题描述
我有一个带有五个“路由”/子页面的 React 应用程序(使用 React Router)。
如果用户在子页面上输入信息(例如选中复选框/在页面上的输入字段中输入文本),然后访问另一个子页面,然后返回上一个子页面,我想要那个子页面保留用户离开它的状态。
在某些时候,我还需要能够检索所有子页面的状态。
使用 React Router 是否可行/可行,或者有更好的方法吗?
解决方案
如果你不想使用 Redux 或类似的东西来维护路由更改之间的数据,你总是可以有一个位于上方的包装组件,并通过 react-routers render prop solution<Router>
将数据传递给每个相关的。但是,您需要为子部分可能需要进行的每个更新提供回调,这不一定是可扩展的。<Route>
或者,另一种方法是将子部分的状态从组件中取出并通过参数进入 URL,例如您可能在 URL 中常见的搜索过滤器。然而,这并不总是可取的。
不过,实施 Redux 将是解决该问题的更好方法。
推荐阅读
- amazon-web-services - 来自 client_credentials 流的访问令牌导致 401 需要授权
- mongodb - k8s pod连接mongodb失败
- installation - 如何禁用修复?
- amazon-web-services - 如何为 aws kinesis put stream api 将 base64 字符串数据拆分为小于 1 mb 的块?
- vue.js - 多个粘性列 bootstrap-vue vuejs
- r - 使用 R 中的 polyroot 函数返回的值在循环中构造数据框
- webpack - Webpack 代码是否在 switch 语句中拆分?
- vue.js - 如果它们与 VueJS 中的条件匹配,则隐藏单个选择菜单选项
- android - 如何实现居中的recyclerview
- mysql - 柏树,如何使其与 DB 结果中的每一行不同