我可以在不创建新组件的情况下恢复组件实例吗?

时间:2017-12-16 17:52:38

标签: reactjs react-router

在我的组件中,我有一些不应该触发重新渲染的私有成员。

class TestComponent extends AbstractComponent {
   protected additionalPersons = [];
   public state = {
     name: ""
   }
}

我假设我在additionalPersons数组中添加了一些值并更改了状态。

additionalPersons.push("Jane");
additionalPersons.push("John");

this.setState({ name: "Boo" });

然后,我使用react-router重定向到另一个组件,因此TestComponent被卸载并且NewComponent被挂载。之后我点击“返回”按钮,然后返回TestComponent。

问题:我看到数组为空,state.name为“”,因为组件构造/安装了一个新的。

我想要的是:我想在this卸载之前复制TestComponent,并在用户再次返回此页面时将其重新安装。 (例如,我不想让我创建一个新实例,只需使用前一个实例。)

可以用React做到吗?

0 个答案:

没有答案