1

(I'm using React - Class Component)

I'm looking for how to remove Footer component only in specific page, but i have no idea. Actually I don't have no idea about what keyword to search.

Below code is my Router.js

class Routes extends React.Component {
  render() {
    return (
      <Router>
        <Navbar />
        <Switch>
          <Route exact path="/" component={Main}></Route>
          <Route exact path="/review" component={ReviewPage}></Route>
        </Switch>
        <Footer />
      </Router>
    );
  }
}

export default Routes;

I put Footer and Navbar Component in router like that because those are always exists in every page. But unfortunately I just found that in ReviewPage, there is NO FOOTER....

How can i remove Footer only in ReviewPage? Please give me hint !

hello
  • 35
  • 4

1 Answers1

2

You can use location.pathname. It returns the current url path name. And then you can set a condition as below:

{location.pathname !== '/review' && <Footer />}

Solution

class Routes extends React.Component {
  render() {
    return (
      <Router>
        <Navbar />
        <Switch>
          <Route exact path="/" component={Main}></Route>
          <Route exact path="/review" component={ReviewPage}></Route>
        </Switch>
        {location.pathname !== '/review' && <Footer /> }
      </Router>
    );
  }
}

export default Routes;
Surjeet Bhadauriya
  • 4,714
  • 3
  • 26
  • 41