React新特性:
我有一个<Header />
组件,我希望仅当用户访问特定页面时才对其进行隐藏。
到目前为止,我设计我的应用程序的方式是,当导航时,<Header />
组件是而不是重新呈现,只有页面内容是,所以它提供了一个非常流畅的体验。
我试图重新渲染每条路线的头部,这将使它很容易隐藏,但每次我导航时都会遇到丑陋的重新渲染故障。
所以基本上,有没有一种方法只在进入和离开特定路由时才重新呈现组件?
如果没有,那么实现这一目标的最佳实践是什么?
App.js:
class App extends Component {
render() {
return (
<BrowserRouter>
<div className="App">
<Frame>
<Canvas />
<Header />
<Main />
<NavBar />
</Frame>
</div>
</BrowserRouter>
);
}
}
Main.js:
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>
);
https://stackoverflow.com/questions/50777333
复制相似问题