簡體   English   中英

嘗試在登錄頁面隱藏 header 但沒有成功

[英]Try to hide header on login page but did not work

我試圖在登錄頁面上隱藏我的 header 組件,如下所示。 但這是行不通的。 請指導我如何做到這一點。 提前致謝!

class App extends Component {
  render() {
    var auth = localStorage.getItem("auth")
    console.log("app ===>", auth)
    return (
      <div className="App">
        <Header />
        <Router>
          <LinkBar />
          <main>
            <Switch>
              <Route path="/home">
                <Protected cmp={Home}></Protected>
              </Route>
              <Route path="/shopping">
                <Protected cmp={Products}></Protected>
              </Route>
              <Route path="/login">
                <Login />
              </Route>
            </Switch>
          </main>
        </Router>
      </div>
    )
  }
}

export default App

理想情況下,這應該適用於 jsx。

 { auth ? <Header auth={auth}></Header> : null }

或者更優雅的方式

 { auth && (<Header auth={auth}></Header>) }

您可以執行以下操作:

function App(){
   return(
    <Router>
      <Switch>
         <Route exact path="/" component={Login} />
         <Route component={DefaultContainer} />
      </Switch>
    </Router>
   );
}


const DefaultContainer = () => (
  <Header />
  <Router>
    <Switch>
      <Route exact path="/home" component={Home} />
      <Route exact path="/shopping" component={Shopping} />
    </Switch>
  </Router>
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM