2017-10-19 67 views
3

我用React j制作了Todo列表。这个网页有List和Detail页面。 有一个清单和1个清单有10个项目。当用户滚动底部时,下一页数据将被加载。React是否像Vue js一样保持活力?

用户点击第40项 - >看详细页面(反应路由器) - >单击后退按钮

页面的主要页面滚动顶部,并再次获得第1页的数据。

如何在没有Ajax调用的情况下恢复滚动位置和数据

当我使用Vue js时,我使用了'keep-alive'元素。 帮帮我。谢谢:)

+0

可能重复的[React/redux如何保持路径之间的滚动位置](https://stackoverflow.com/questions/40135087/react-redux-how-to-maintain-scroll-positoin-between-routes) –

回答

0

保持活力真的很好。一般来说,如果你想保存状态,你可以看看使用Flux(Redux lib)设计模式来将你的数据存储在全球商店中。你甚至可以将它添加到单个组件用例中,而不是在任何其他地方使用它,如果你愿意的话。

如果您需要保留组件,可以查看提升组件的方法,并在组件中添加“display:none”样式。这将保留节点并因此保留组件状态。

值得注意的是“关键”字段有助于React引擎找出哪些树应该被卸载以及应该保留什么。如果您拥有相同的组件并希望在多种用法中保持其状态,请维护关键值。相反,如果您想确保卸载,只需更改键值。