J'ai les composants Header
et Footer
, qui sont utilisés pour les pages internes environnantes.Comment rendre un composant spécifique et en exclure d'autres dans un itinéraire spécifique
J'ai également un composant Login
, qui apparaît lorsque l'utilisateur n'est pas connecté. Ce composant n'implémente pas les composants Header
ou Footer
.
Le problème est que je ne peux pas empêcher les composants Header
et Footer
d'être rendu avec le composant Login
. Je ne peux pas exclure le composant Login
à rendre seul.
J'ai essayé le tag Switch
, mais je n'ai pas réussi à le faire fonctionner.
import React, { Component } from 'react';
import { BrowserRouter, Route } from 'react-router-dom';
import { connect } from 'react-redux';
import * as actions from '../actions';
import Header from "./Header";
import Footer from "./Footer";
import Login from "./Login";
import manageCategories from "./manageCategories";
class App extends Component {
componentDidMount() {
this.props.fetchUser();
}
render() {
return (
<div>
<BrowserRouter>
<div>
<Route exact path="/login" component={Login} />
<Header />
<Route exact path="/manage-categories" component={manageCategories} />
<Footer />
</div>
</BrowserRouter>
</div>
);
}
}
export default connect(null, actions)(App);
I mis en œuvre le '' header' et footer' dans 'composante manageCategories'. Est-ce correct? faire ce genre de mise en œuvre avec chaque nouveau composant? – CairoCoder
Vous pouvez ajouter un composant de disposition pour distribuer les composants de routeur imbriqués qui nécessitent les composants 'header' et' footer'. Les composants qui n'ont pas besoin de 'header' et' footer' peuvent être un routeur parallèle. – JiangangXiong
OK, votre suggestion fonctionne pour la mise en page, mais la forme " "ne fonctionne pas. –
CairoCoder