【发布时间】:2018-11-19 12:00:06
【问题描述】:
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>
);
【问题讨论】:
-
什么重新渲染故障?
-
这就像整个应用程序重新加载。导航时闪烁 10 毫秒
标签: reactjs react-router react-css-modules