反应路由器:保留先前访问过的“路由”的状态

时间:2018-05-23 12:49:54

标签: reactjs

我有一个带有五个“路由”/子页面的React应用程序(使用React Router)。

如果用户在子页面上输入信息(例如,检查复选框/在页面上的输入字段中输入文本),则访问另一个子页面,然后返回上一个子页面,我希望子页面保留用户将其保留的状态。

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

使用React Router是否可行/可行,或者有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

如果您不想使用Redux或类似工具来维护路由更改之间的数据,您可以始终拥有一个位于<Router>之上的包装组件,并通过反应将数据传递给每个相关的<Route> -routers render prop solution。您需要为子部分可能需要进行的每个更新提供回调,但这不一定是可扩展的。

或者,另一种方法是使子节的状态远离组件并通过参数进入URL,例如您可能经常在URL中看到的搜索过滤器。然而,这并不总是可取的。

尽管如此,实现Redux将是一个更好的解决方案。