我正在使用“ react-semantic-ui”和“ React-Router-Dom”进行路由,并在菜单项中使用NavLink
进行重定向。
但是默认情况下,“主页”菜单项在加载页面时处于活动状态,但未显示Router
中提到的主页,但是在单击菜单项后将显示主页。
这是我的NavBar
代码:
import React, {Component} from 'react';
import {NavLink, Redirect} from 'react-router-dom'
import { Menu, Responsive, Button, Icon } from 'semantic-ui-react'
class NavBar extends Component {
constructor(props){
super(props)
this.state = {
activeItem: 'home'
}
}
handleItemClick = (e, { name }) => {
this.setState({ activeItem: name })
}
render() {
const { activeItem } = this.state
return(
<div>
<Menu inverted style={{
borderRadius: 0,
borderBottom: '2px solid #fff',
fontSize: '1.2rem',
}} >
<Menu.Item
name='home'
active={activeItem === 'home'}
onClick={this.handleItemClick}
as = {NavLink} exact to='/home'
/>
<Menu.Item
name='users'
active={activeItem === 'users'}
onClick={this.handleItemClick}
as = {NavLink} exact to='/users'
/>
<Menu.Menu position='right'>
<Menu.Item
name='log Out'
active={activeItem === 'logout'}
onClick={this.handleItemClick}
/>
</Menu.Menu>
</Menu>
</div>
);
}
}
export default NavBar;
这是UploadScreen.js
中的路由器:
render() {
return (
<div>
<BrowserRouter>
<NavBar/>
<Switch>
<Route excat path="/home" component={Home}/>
<Route exact path="/unauth" component={UnAuth} />
<Route path ="/users" component = {ListUserComponent}/>
<Route path ="/add-user" component = {AddUserComponent}/>
<Route path="/logout" component={Logout}/>
</Switch>
</BrowserRouter>
</div>
);
}
在下面的图像中,欢迎文本在主页上,单击主页后即显示,默认情况下,当活动菜单项为主页时,我需要显示该文本:
[] [
] 2