首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >React:隐藏特定路由上的组件

React:隐藏特定路由上的组件
EN

Stack Overflow用户
提问于 2018-06-10 02:27:26
回答 4查看 28.9K关注 0票数 22

React新特性:

我有一个<Header />组件,我希望仅当用户访问特定页面时才对其进行隐藏。

到目前为止,我设计我的应用程序的方式是,当导航时,<Header />组件是而不是重新呈现,只有页面内容是,所以它提供了一个非常流畅的体验。

我试图重新渲染每条路线的头部,这将使它很容易隐藏,但每次我导航时都会遇到丑陋的重新渲染故障。

所以基本上,有没有一种方法只在进入和离开特定路由时才重新呈现组件?

如果没有,那么实现这一目标的最佳实践是什么?

App.js:

代码语言:javascript
复制
class App extends Component {

  render() {
    return (
      <BrowserRouter>
        <div className="App">
          <Frame>
            <Canvas />
            <Header />
            <Main />
            <NavBar />
          </Frame>
        </div>
      </BrowserRouter>
    );
  }
}

Main.js:

代码语言:javascript
复制
const Main = () => (
  <Switch>
    <Route exact activeClassName="active" path="/" component={Home} />
    <Route exact activeClassName="active" path="/art" component={Art} />
    <Route exact activeClassName="active" path="/about" component={About} />
    <Route exact activeClassName="active" path="/contact" component={Contact} />
  </Switch>
);
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50777333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档