Ich habe ein Bootstrap Navbar funktioniert gut. Wenn ich auf ein MenuItem klicke, wird es als 'aktiv' eingerichtet. Aber ich möchte, dass zum Beispiel, wenn ich auf Home> Status> NewStatus gehe, das MenuItem Home "aktiv" wäre. Ich habe meine Bootstrap Navbar mit diesem Code:Einrichten als aktiver Eltern-Link in React-Router Bootstrap Navbar
import React from 'react';
import MenuNavItem from './MenuNavItem.jsx'
export default class Menu extends React.Component {
constructor() {
super();
}
render() {
return (
<nav id="idNavMenu" class="navbar navbar-default" role="navigation">
{/*<a class="navbar-brand" href="/inicio"><img id="idFotoLogotipo" width="200px" src="./assets/images/cabecera_CE.jpg"/></a>*/}
<a class="navbar-brand" href="http://www.upct.es/"><span id="idTextoLogotipo">UPCT</span></a>
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
<span class="sr-only">Menú</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse navbar-ex1-collapse">
<ul class="nav navbar-nav">
<MenuNavItem to='/alumno/inicio' index={true}>Inicio</MenuNavItem>
<MenuNavItem to='/alumno/nueva_incidencia'>Nueva Incidencia</MenuNavItem>
<MenuNavItem to='/alumno/mis_incidencias'>Mis Incidencias</MenuNavItem>
</ul>
<ul class="nav navbar-nav navbar-right">
<MenuNavItem to=''><span class="glyphicon glyphicon-off"></span> Salir</MenuNavItem>
</ul>
</div>
</nav>
);
}
}
und einem Menü-Wrapper, die als aktiver die MenuItem geklickt Set kann:
import React from 'react'
import { Link, IndexLink, withRouter } from 'react-router'
export default class NavItem extends React.Component {
constructor() {
super();
}
render() {
const { router, index, to, children, ...props } = this.props;
let isActive = false;
if (router.isActive('./', true) && index) {
isActive = true
} else {
isActive = router.isActive(to)
}
const LinkComponent = index ? IndexLink : Link
return (
<li className={isActive ? 'active' : ''}>
<LinkComponent to={to} {...props}>{children}</LinkComponent>
</li>
);
}
}
NavItem = withRouter(NavItem);
In Bezug auf mein Menü, wenn ich bei '/alumno/inicio/OTHER-ROUTE'
bin ich mag dass 'Inicio'
wäre 'active'
. Jemand weiß, wie könnte ich das tun? (das übergeordnete MenuItem - in meiner NavBar definiert, in diesem Fall 'Inicio'
- einer Route - in diesem Fall '/alumno/inicio/OTHER-ROUTE'
welches 'OTHER-ROUTE'
ist nicht auf meiner NavBar definiert - als aktiv eingestellt) Vielen Dank.
Danke sehr! Es funktioniert!. Wenn ich mehr Zeit habe, werde ich React-Bootstrap versuchen, wie Sie mir vorschlagen. Vielen Dank. – JuMoGar
Hallo, @mrinalmech. Heute bekomme ich diesen Fehler. Was könnte es sein? (Ich werde es in einer aswer wegen ich kann es hier nicht einfügen, ist zu lang. Danke. – JuMoGar
Hallo, @mrinalmech, könnten Sie das lesen? Http://stackoverflow.com/questions/43702957/how-could -i-solve-this-error-in-wrapper-of-navbar und versuche mir zu helfen, bitte? – JuMoGar