J'ai défini une image d'arrière-plan sur un composant parent. Lorsque je me dirigeai vers un composant enfant au sein du parent, je ne veux pas voir cette image d'arrière-plan, aucune idée?
My APP.JS Le code rendu est: p>
return (
<BrowserRouter>
<div className="App" style={{ backgroundImage: `url(${bg})` }}>
<Switch>
<Route path="/" component={Login} exact />
<Route path="/Welcome" component={Welcome} />
</Switch>
</div>
</BrowserRouter>
);
4 Réponses :
Vous pouvez le faire de cette manière
Seule l'image n'apparaît que même les contenus de page affichent
Celui-ci de @blueseal fonctionne bien.
return (
<BrowserRouter>
<div className="App">
<Switch>
<Route
exact
path="/"
component={() => (
<div className="App" style={{ backgroundImage: `url(${bg})` }}>
<Login />{' '}
</div>
)}
/>
<Route path="/Welcome" component={Welcome} />
</Switch>
</div>
</BrowserRouter>
);
Pourquoi avez-vous deux .app code> divs, un à l'intérieur de l'autre? En outre, vous auriez dû demander à @blueseal de poster son commentaire comme une réponse.
Il serait probablement préférable de simplement mettre le div.app code> à l'intérieur de votre composant code> Connexion code>, plutôt que de l'envelopper dans votre itinéraire code>.
Eh bien, op peut donner classname = app2 code> au lieu de app code>, puis gérez le style style code> pour la classe app2 code>. Je viens de poster ça comme un commentaire OP peut comprendre pour ajuster les styles
Vous devez vérifier si l'utilisateur est logedIn
Utilisez ceci.props.Location.PathName Pour obtenir la route actuelle en tant que chaîne.
Utilisez-le pour rendre conditionnellement l'image d'arrière-plan dans votre objet de style en ligne comme celui-ci p>
return (
<BrowserRouter>
<div className="App" style={{ this.props.location.pathname !== "/" && backgroundImage: `url(${bg})` }}>
<Switch>
<Route path="/" component={Login} exact/>
<Route path="/Welcome" component={Welcome}/>
</Switch>
</div>
</BrowserRouter>
);
Essayez d'ajouter une image d'arrière-plan au composant de connexion
Si j'ajoute un composant de connexion, il s'applique sous forme de div, ne pas appliquer pour une page entière
Stackoverflow.com/help/minimal-reproductible-example
essaye ça ?
retour ( ( dv>)} /> interrupteur> div> browserrater>) ; code>
Travailler parfait ..!