New to 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>
);