React Bootstrap导航栏崩溃不起作用

时间:2019-02-25 04:31:10

标签: javascript reactjs navbar collapse react-bootstrap

我使用了react bootstrap导航栏,还使用了for (int i = 3; i < size; i += 2) { // ... } 进行了流畅的导航。它工作正常,但是在响应模式下单击任何导航项时,导航栏不会崩溃。

包装

react-scroll

导航栏

import React, { Component } from "react";
import { NavLink } from "react-router-dom";
import { Link } from "react-scroll";
import { LinkContainer } from "react-router-bootstrap";
import { Navbar, Container, NavDropdown, Nav, Dropdown } from "react-bootstrap";

4 个答案:

答案 0 :(得分:1)

有同样的问题。我发现,如果我们为Nav.Link项目添加“ eventKey”,则“ collapseOnSelect”有效

示例:

import { Link } from 'react-router-dom';
import { Nav, Navbar} from 'react-bootstrap';

 <Navbar collapseOnSelect  expand="lg">
      <Navbar.Toggle />
      <Navbar.Collapse>
        <Nav className="mr-auto d-block">
          <Nav.Item>
            <Nav.Link eventKey="1" as={Link} to="/Home">
              Home
            </Nav.Link>
          </Nav.Item>
          <Nav.Item>
             <Nav.Link eventKey="2" as={Link} to="/Contant">
              Page Contant
            </Nav.Link>
          </Nav.Item>
        </Nav>
      </Navbar.Collapse>
    </Navbar>

答案 1 :(得分:1)

我遇到了同样的问题,并通过放回Bootstrap的Nav.Link解决了它。这是基于您的代码的工作方式:

<Navbar sticky="top" id="navbar"className="navbar" collapseOnSelect bg="light expand="lg">
 <Navbar.Toggle aria-controls="basic-navbar-nav"/>
  <Navbar.Collapse id="basic-navbar-nav">
  <Nav className="ml-auto">
   <Nav.Link>
    <Link
      activeClass="active"
      to="features"
      spy={true}
      smooth={true}
      offset={-70}
      duration={800}
      className="nav-link"
      >
      Features
    </Link>
   </Nav.Link>
  </Nav>
 </Navbar.Collapse>
</Navbar>

答案 2 :(得分:0)

React Bootstrap中的一个已知问题是,当我们单击菜单项时,它不会自动隐藏菜单,下面提到的代码可以帮助您实现同样的目的。

不需要jQuery的简单解决方法:

<DropdownButton title={buttonTitle} onSelect={() => null}>

或者如果您仍在使用ES5:

<DropdownButton title={buttonTitle} onSelect={function() {}}>

onSelect回调返回什么似乎无关紧要。

答案 3 :(得分:0)

只需在 eventKey="2" 内使用 <Nav.link/> 。它适用于 react js