【发布时间】:2017-10-12 16:56:53
【问题描述】:
我使用 React Router 创建了选项卡,每个选项卡都有不同的路由。但是,我想通过保持隐藏选项卡的安装来保持选项卡转换之间的选项卡状态。我如何实现这一目标?每次路由切换时,React 路由器都会重新挂载每个组件。
有人已经问过这个问题here,但还没有得到答复
理想情况下,我会找到一个解决方案,让第一次点击后未显示的选项卡保持挂载
【问题讨论】:
-
如果您想为多个组件维护
state,您将需要一个未重新安装的父组件或像redux这样的状态管理器。 -
@Sag1v 谢谢!我宁愿跟踪组件本身内部的组件状态,我真的只想让组件安装在切换选项卡之间的一个会话中
-
我认为除了
react及其工具的良好实践和设计模式之外,没有“干净”的方式来做这件事。也许您可以将其保存在本地存储中,但我建议不要这样做。state是一个内存对象,属于class(React.component类)的实例,当您销毁该类时,您会销毁该对象。正统的方法是将状态提升到一个共同的父级,或者通过像redux这样的状态管理器将其保存在外部。 -
您解决了这个问题吗?我会对解决方案非常感兴趣
标签: javascript reactjs tabs react-router