我有一個Bootstrap Navbar工作正常。當我點擊一個MenuItem時,它被設置爲'active'。但是我想要的是,例如,當我進入主頁>狀態> NewStatus時,MenuItem Home將'激活'。我有我的引導導航欄使用此代碼:在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>
);
}
}
和菜單式包裝,它可以讓設置爲活動的菜單項點擊:
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);
在提到我的菜單,如果我在'/alumno/inicio/OTHER-ROUTE'
我想'Inicio'
將是'active'
。有人知道我該怎麼做? (在我的NavBar中定義的父項MenuItem,在這種情況下,'Inicio'
- 路由 - 在這種情況下,'/alumno/inicio/OTHER-ROUTE'
其中'OTHER-ROUTE'
未在我的NavBar上定義 - 設置爲活動)非常感謝。
謝謝你很多!這是工作!。當我有更多的時間時,我會嘗試React-Bootstrap,因爲你建議我。謝謝。 – JuMoGar
嗨,@mrinalmech。今天我收到這個錯誤。會是什麼呢? (因爲我不能粘貼在這裏,所以我會將它發佈到aswer中,太長了。謝謝。 – JuMoGar
嗨,@mrinalmech,你能讀這個嗎?http://stackoverflow.com/questions/43702957/how-could -i-solve-this-error-in-wrapper-of-navbar and try to help me,please? – JuMoGar