reactjs - 如何隐藏组件而不是卸载它?

标签 reactjs react-router

我的路线定义如下:

  <Route component={App}>
    <IndexRoute component={Main}/>
    <Route path="/foo" component={Foo}/>
    <Route path="/bar" component={Bar}/>
  </Route>

默认情况下,当您从 Foo 转换到 Bar 时,组件会被卸载。由于我在组件 Foo (带有自定义动画的 Google map )中有一个计算量大的代码,我想防止卸载并隐藏该组件,因此当用户返回时它将立即加载。

如何实现这一目标?

最佳答案

为了实现您的要求,您不能对 FooBar 使用两个单独的路由。你只能为一个容器组件设置一个路由(我们将其命名为 FooBar)。 FooBar 结合了 FooBar。使用 FooBarstate 更改 FooBarrender 函数中两个组件的可见性。

关于reactjs - 如何隐藏组件而不是卸载它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40274131/

相关文章:

reactjs - 在 nginx 服务器上 react 路由器应用程序

react-router - 在 onEnter 中使用 replaceState 时 this.props.location.state 为 null

reactjs - 如何使用 React 路由器和 Spring Boot Controller

javascript - 如何结合ReactJs Router Link和material-ui组件(如按钮)?

javascript - 状态更新时如何更新图像?

javascript - 如何呈现html代码输入?

javascript - react : why is the state returned from useState stays the same when the initializer function gets called on every re-render?

javascript - 如何将数据API放入Ant Design Cascader中?

reactjs - 如何模拟网络 worker 以在 react 测试库中进行测试?

javascript - React 未捕获的不变违规 : Invalid tag: