简体   繁体   English

React 在使用 Bootstrap 时不断加载<Nav.Link>

[英]React keeps loading when using Bootstrap <Nav.Link>

When I use the following code for a navbar without any links, React started up fine and displays the navbar.当我将以下代码用于没有任何链接的导航栏时,React 启动良好并显示导航栏。

function Nav() {
  return (
    <Navbar bg="light" variant="light">
      <Container>
        <Navbar.Brand href="#home">Navbar</Navbar.Brand>
      </Container>
    </Navbar>
  );
}

However, when I add links using <Nav.Link> React just keeps loading and I can't even right-click to view the console.但是,当我使用 <Nav.Link> 添加链接时,React 只会继续加载,我什至无法右键单击以查看控制台。

function Nav() {
  return (
    <Navbar bg="light" variant="light">
      <Container>
        <Navbar.Brand href="#home">Navbar</Navbar.Brand>
        <Nav className="me-auto">
          <Nav.Link href="#home">Home</Nav.Link>
          <Nav.Link href="#features">Features</Nav.Link>
          <Nav.Link href="#pricing">Pricing</Nav.Link>
        </Nav>
      </Container>
    </Navbar>
  );
}

Please check this before:请在此之前检查:

  1. Make sure you have installed react-bootstrap .确保您已安装react-bootstrap
  2. Make sure you have imported the required components like here import { Navbar, Container, Nav } from "react-bootstrap";确保您已经导入了所需的组件,例如import { Navbar, Container, Nav } from "react-bootstrap";
  3. Make sure you are exporting the same using export default <component_name> .确保您使用export default <component_name>导出相同的export default <component_name>

I have restructured your code as我已将您的代码重组为

<Navbar bg="dark" expand="lg" variant="dark">
  <Container>
    <Navbar.Brand href="#home">React-Bootstrap</Navbar.Brand>
    <Navbar.Toggle aria-controls="basic-navbar-nav" />
    <Navbar.Collapse id="basic-navbar-nav">
      <Nav className="me-auto">
        <Nav.Link href="#home">Home</Nav.Link>
        <Nav.Link href="#features">Features</Nav.Link>
        <Nav.Link href="#pricing">Pricing</Nav.Link>
      </Nav>
    </Navbar.Collapse>
  </Container>
</Navbar>

截屏

Also like to suggest you to explore react-router to enable single page loading.也想建议你探索react-router来启用单页加载。 Link关联

The issue was solved by changing to component name:通过更改组件名称解决了该问题:

 import { Navbar, Container, Nav } from "react-bootstrap";
    
    function TopNav() {
      return (
        <Navbar bg="light" variant="light">
          <Container>
            <Navbar.Brand href="#home">Navbar</Navbar.Brand>
            <Nav className="me-auto">
              <Nav.Link href="#home">Home</Nav.Link>
              <Nav.Link href="#features">Features</Nav.Link>
              <Nav.Link href="#pricing">Pricing</Nav.Link>
            </Nav>
          </Container>
        </Navbar>
      );
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM