I have a problem With my code i am using react-router-dom@6 and have countered a problem i have made a <Home /> <Login /> </Register /> Components and i am using react router to switch between them but for some reason when i switch for example from to <Login /> the background stays the same which i have defined in Home.css and only imported in <Home /> but when i try to define background again in Login.css that becomes the default on all pages this has confused me for a long time now and i would like some advice on i how i should deal with it
App.js
import { Route, Routes } from "react-router-dom";
import "./App.css";
import Home from "./Components/Home";
import Login from "./Components/Login";
import Register from "./Components/Register";
function App() {
return (
<>
<div className="App">
<Routes>
<Route path="/" element={<Home />} />
<Route path="/Login" element={<Login />} />
<Route path="/Register" element={<Register />} />
</Routes>
</div>
</>
);
}
export default App;
Home.js
import React from "react";
import Navbar from "./Navbar";
import "../Css/Home.css";
import Footer from "./Footer";
import { Link } from "react-router-dom";
function Home() {
return (
<>
<Navbar />
<main>
<h1>YelpCamp</h1>
<p>Welcome To YelpCamp</p>
<p>Jump In And Explore Our Campgrounds</p>
<Link to="/Campgrounds">
<button className="button">View Our Campgrounds</button>
</Link>
</main>
<Footer />
</>
);
}
export default Home;
Home.css
(Only the important CSS )
/*BODY*/
body {
background: url("../Images/Home\ Background.jpg");
background-size: cover;
background-position: center;
height: 90vh;
}
Login.js
import React from "react";
import Footer from "./Footer";
import Navbar from "./Navbar";
import "../Css/Login.css";
function Login() {
return (
<>
<Navbar />
<main>Login Page</main>
<Footer />
</>
);
}
export default Login;
Login.css
(Only the important CSS )
/*BODY*/
body {
background: #000;
}
And the Same for Register.js and Register.css only changing the body