У меня есть простая навигационная панель, построенная с использованием реакции-начальной загрузки, которая содержит раскрывающийся список. Внутри раскрывающегося списка я обернул каждый элемент меню в раскрывающемся списке элементом LinkContainer (response-router-bootstrap), чтобы связать элементы с маршрутами и выделить активный элемент. На первый взгляд все работает нормально, но в консоли появляется следующее предупреждение:
Warning: Unknown prop `active` on <li> tag. Remove this prop from the element. For details, see https://facebook.github.io/react/warnings/unknown-prop.html
in li (created by ImmerseNavbar)
in ul (created by DropdownMenu)
in RootCloseWrapper (created by DropdownMenu)
in DropdownMenu (created by Dropdown)
in li (created by Dropdown)
in Dropdown (created by Uncontrolled(Dropdown))
in Uncontrolled(Dropdown) (created by NavDropdown)
in NavDropdown (created by ImmerseNavbar)
in ul (created by Nav)
in Nav (created by ImmerseNavbar)
in div (created by Grid)
in Grid (created by Navbar)
in nav (created by Navbar)
in Navbar (created by Uncontrolled(Navbar))
in Uncontrolled(Navbar) (created by ImmerseNavbar)
in section (created by ImmerseNavbar)
in ImmerseNavbar (created by App)
in div (created by App)
in App (created by RouterContext)
in RouterContext (created by Router)
in Router
in Provider
Насколько я понял из чтения проблем на github response-bootstrap (https://github.com/react-bootstrap/react-bootstrap/issues/1994 среди прочего), я думаю, проблема связана с <MenuItem>
передачей активной опоры от <LinkContainer>
до <li>
. Я новичок, чтобы реагировать, и это должно быть исправлено, так что я что-то делаю не так?
navbar.js
const ImmerseNavbar = props => (
<section id="header">
<Navbar fixedTop fluid>
<Navbar.Header>
<Navbar.Brand>
<Link to="/">
<img src="/logo.png"/>
</Link>
</Navbar.Brand>
</Navbar.Header>
<Nav>
<IndexLinkContainer to="/">
<NavItem eventKey={1} >
<i className="fa fa-th"/>
Item 1
</NavItem>
</IndexLinkContainer>
<LinkContainer to="/favourites">
<NavItem eventKey={2}>
<i className="fa fa-star"/>
Item 2
</NavItem>
</LinkContainer>
</Nav>
<Nav pullRight>
<NavDropdown eventKey={3} title="User Name" id="basic-nav-dropdown">
<LinkContainer to="/preferences">
<MenuItem eventKey={3.1}>Item 3.1</MenuItem>
</LinkContainer>
<LinkContainer to="/account">
<MenuItem eventKey={3.2}>Item 3.2</MenuItem>
</LinkContainer>
<MenuItem divider />
<li className="dropdown-header">Organisation</li>
<LinkContainer to="/organisation/manage">
<MenuItem eventKey={3.3}>Manage</MenuItem>
</LinkContainer>
<LinkContainer to="/organisation/users">
<MenuItem eventKey={3.3}>Users</MenuItem>
</LinkContainer>
<LinkContainer to="/organisation/sources">
<MenuItem eventKey={3.3}>Sources</MenuItem>
</LinkContainer>
<MenuItem divider />
<LinkContainer to="/logout">
<MenuItem eventKey={3.3}>Log out</MenuItem>
</LinkContainer>
</NavDropdown>
</Nav>
</Navbar>
</section>
);
export default ImmerseNavbar;
Проблема определенно в <NavDropdown>
коде, как будто я удалю этот блок, проблема исчезнет. С использованием:
- реакция-бутстрап: 0,30,7
- реакция-редукция: 4.4.6
- реагировать-маршрутизатор: 3.0.0
- реакция-маршрутизатор-начальной загрузки: 0.23.1
- реагировать: 15.4.1
- реагировать-дом ": 15.4.1
Любая помощь приветствуется