【发布时间】:2019-10-21 04:44:32
【问题描述】:
我正在创建一个网站,我在其中使用 react-router-dom 的 NavLink 组件来防止重新呈现单页应用程序体验。
当我试图使网站具有响应性时,我一直试图在选择 NavLink 后使响应引导的响应式导航栏崩溃,但 collapseOnSelect 行为似乎不适用于 Nav.Link 以外的任何东西react-bootstrap 自带的组件。
其他解决方案建议使用手动切换功能等将道具传递给导航 (navExpanded:true),但这似乎仍会由于状态更改而强制重新渲染。我想避免这种情况的主要原因是因为我使用 react-transitions-group 在页面之间进行了转换。
<Navbar collapseOnSelect expand="md" variant="dark">
<Container>
<Navbar.Brand href="/"><Logo/></Navbar.Brand>
<Navbar.Toggle aria-controls="responsive-navbar-nav" />
<Navbar.Collapse id="responsive-navbar-nav">
<Nav className="Navs ml-auto">
<NavLink className="nav-link" to="/about">ABOUT</NavLink>
<NavLink className="nav-link" to="/portfolio">PORTFOLIO</NavLink>
<NavLink className="nav-link" to="/contact">CONTACT</NavLink>
</Nav>
</Navbar.Collapse>
</Container>
</Navbar>
任何帮助将不胜感激!
【问题讨论】:
-
我遇到了同样的问题,维护者已经关闭了三个没有解决的 github 问题。他给我的所有建议都失败了。我真的不认为它的工作......见:github.com/react-bootstrap/react-bootstrap/issues/4081
-
找到了解决办法,看我的回答。
标签: reactjs react-bootstrap react-router-dom