NavLink激活的语义菜单项出现问题

时间:2020-07-13 15:39:45

标签: reactjs react-router semantic-ui

我正在使用“ 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>
      );
    }

在下面的图像中,欢迎文本在主页上,单击主页后即显示,默认情况下,当活动菜单项为主页时,我需要显示该文本:

[it's displaying like this with blank Page] [

enter image description here] 2

0 个答案:

没有答案