我有一个带有五个“路由”/子页面的React应用程序(使用React Router)。
如果用户在子页面上输入信息(例如,检查复选框/在页面上的输入字段中输入文本),则访问另一个子页面,然后返回上一个子页面,我希望子页面保留用户将其保留的状态。
我还需要能够在某个时刻检索所有子页面的状态。
使用React Router是否可行/可行,或者有更好的方法吗?
答案 0 :(得分:0)
如果您不想使用Redux或类似工具来维护路由更改之间的数据,您可以始终拥有一个位于<Router>
之上的包装组件,并通过反应将数据传递给每个相关的<Route>
-routers render prop solution。您需要为子部分可能需要进行的每个更新提供回调,但这不一定是可扩展的。
或者,另一种方法是使子节的状态远离组件并通过参数进入URL,例如您可能经常在URL中看到的搜索过滤器。然而,这并不总是可取的。
尽管如此,实现Redux将是一个更好的解决方案。