卸载组件时如何不丢失组件状态/滚动位置

时间:2018-10-31 01:49:22

标签: reactjs react-router

简介

我有一个包含2个子组件的组件,我们称它们为listComponentitemComponent

listComponent :具有“加载更多”按钮,并且可以滚动。列表的每个元素都有一个路由链接,该链接链接到itemComponent。

itemComponent :包含有关列表中特定元素的信息。有一个后退按钮,可将应用程序路由回listComponent。

问题

每次用户单击某个元素以转到该项目的itemComponent时,它将卸载listComponent。问题在于,当他返回listComponent时,将从头开始重新安装它,失去了他所做的所有“加载更多”和滚动位置,使它几乎无法使用。

问题

我希望当用户单击itemComponent上的“后退”按钮时,listComponent会像离开时一样加载,滚动到原处以及所有“已加载更多”项目。

示例代码

<Switch>
  <Route
    path="/list"
    component={listComponent}
  />
  <Route
    path="/list/:item"
    component={itemComponent}
  />
</Switch>

0 个答案:

没有答案