导航栏和页脚如何在React中固定

时间:2019-03-11 09:30:09

标签: reactjs react-router

我有一个问题,即当我更改路线时,如何保持navbar和footer组件在路由更改时保持稳定,所以当我从navbar单击某些页面时,所有页面都会用navbar和footer刷新。

我认为我在某个地方犯了错误。

这是我的应用程序组件:

class App extends Component {
  render() {
    return (
      <Router>
        <div>
          <Navbar/>
          <main>
            <Switch>
              <Route exact path='/' component={Home}/>
              <Route path='/Whoweare' component={Whoweare}/>
              <Route path='/Solution' component={Solution}/>
              <Route path='/ContactUs' component={ContactUs}/>
            </Switch>
          </main>
          <Footer/>
        </div>
      </Router>
    );
  }
}

export default App;

我在此处将navbar和footer放在路由器Switch标记之外,对吗?

它是导航栏组件:

import React from 'react';
import {Navbar, Nav, Button, Container, NavItem} from 'react-bootstrap';
const NavbarComp = () =>
        <Navbar>
            <Container>
                <Navbar.Brand href="/">Logo</Navbar.Brand>
                <Navbar.Toggle />
                <Navbar.Collapse className="justify-content-end">
                    <Nav>
                        <NavItem>
                            <Nav.Link href='/Whoweare'>Who we are</Nav.Link>
                        </NavItem>
                        <NavItem>
                            <Nav.Link href='/Solution'>Solution</Nav.Link>
                        </NavItem>
                    </Nav>
                </Navbar.Collapse>
            </Container>
        </Navbar>

export default NavbarComp;

1 个答案:

答案 0 :(得分:0)

我认为您应该将导航栏和页脚放置在路由器外部,这样即使更改路线,它们也将始终存在。我认为这就是您要寻找的?