I have this code where I want to hide the header from specific components like the login and register one. I've done this by using the window.location.pathname. It works for the login component but for the register one it doesn't work because the header is shown.
import './App.css';
import './index.css'
import App from './App'
import Main from './main.js'
import {
BrowserRouter as Router,
Switch,
Route,
Link
} from "react-router-dom";
import Dashboard from './dashboard.js'
import Clients from './Clients.js'
import AddClient from './clientform.js'
import EditClient from './editclient.js'
import Landing from './landing.js'
import AddDiet from './addDiet.js'
import CalendarSection from './calendar.js'
import Login from './login.js'
import { useAuth0 } from "@auth0/auth0-react";
import Register from './register.js'
export default function MainApp() {
let HideHeader = window.location.pathname === '/login' && '/register' ? null : <Main />
return (
<Router>
{HideHeader}
<Switch>
<Route path="/login">
<Login />
</Route>
<Route exact path="/register">
<Register />
</Route>
<Route exact path="/dashboard">
<Dashboard />
</Route>
<Route exact path="/Clients">
<Clients />
</Route>
<Route exact path="/addClient">
<AddClient />
</Route>
<Route exact path="/Calendar">
<CalendarSection />
</Route>
<Route exact path="/Clients/:id">
<EditClient />
</Route>
<Route exact path="/Clients/:id/addDiet">
<AddDiet />
</Route>
</Switch>
</Router>
)
}