新反应:
我有一个<Header />
组件,我只想在用户访问特定页面时隐藏它。
到目前为止,我设计我的应用程序的方式是导航时不会重新渲染<Header />
组件,只有页面内容是,因此它提供了非常流畅的体验。
我尝试为每条路线重新渲染标题,这样可以轻松隐藏,但每次导航时都会遇到丑陋的重新渲染故障。
所以基本上,有没有办法只在进出特定路线时重新渲染组件?
如果没有,实现这一目标的最佳实践是什么?
应用程序.js:
class App extends Component {
render() {
return (
<BrowserRouter>
<div className="App">
<Frame>
<Canvas />
<Header />
<Main />
<NavBar />
</Frame>
</div>
</BrowserRouter>
);
}
}
主.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>
);