我有一個名爲MenuAlumno
的React-Component,它是一個Bootstrap NavBar。我是usign ES6 - ReactJS - React-Router。Bootstrap NavBar不會使用React-Router設置li class =「active」。 ReactJS
這是我的組件:
render() {
return (
<nav class="navbar navbar-default">
<div class="navbar-header">
<button type="button" class="navbar-toggle navbar-collapse-left" data-toggle="collapse" data-target="#idNavBarCollapsed" aria-expanded="false">
<span class="sr-only">Menú</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand visible-xs-block" /*href="http://www.upct.es/"*/><span id="idTextoLogotipo">- INCIDENCIAS -</span></a>
</div>
<div id="idNavBarCollapsed" class="collapse navbar-collapse">
<ul class="nav navbar-nav navbar-left">
<li><Link to='/administrador/inicio'>Inicio</Link></li>
<li><Link to='/administrador/nueva_incidencia'>Nueva Incidencia</Link></li>
<li><Link to='/administrador/incidencias_recibidas'>Incidencias Recibidas</Link></li>
<li><Link to='/administrador/informes'>Informes</Link></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="divider visible-xs-block"></li>
<p class="navbar-text navbar-text-center hidden-xs"><span class="glyphicon glyphicon-user"></span> Bienvenido, {this.state.nombre} ({this.state.dni})</p>
<p class="navbar-text navbar-text-center visible-xs-block"><span class="glyphicon glyphicon-user"></span> Bienvenido, {this.state.nombre}</p>
<li class="navbar-text-center"><a href="http://www.upct.es/"><span class="glyphicon glyphicon-off"></span> Salir</a></li>
</ul>
</div>
</nav>
);
}
但是當我點擊一個<li>
它沒有設置好的了活性。我怎麼解決這個問題?我嘗試了很多不同的東西,但我還沒有實現這一點......
此外,我想,如果我在一個路線,它不是在導航欄上定義(如:/administrador/inicio/hi/How_are_you/Fine
)相應<li>
將設置爲活動狀態(在此示例中爲/administrador/inicio
),但是如果我將另一個元素(在NavBar上定義)設置爲:/administrador/inicio/hi
,則這不是活動狀態(我通過window.location.pathname.include('/ administrador/inicio ') - 這將激活兩個鏈接 - )。激活只有父母<li>
(<li>
引發我的網址),而不是'可能的父母'。
另外,我希望當我點擊F5時,它會繼續保持活動狀態。
在這個項目中我不能使用React-Bootstrap,所以這個選項是不可能的。
我一直在溫暖我的頭很長一段時間試圖解決這個問題,但我仍然沒有得到它。歡迎任何幫助。
謝謝大家。
這是否將它設置在a元素上,何時應該在li上? –