来自 react-router-dom Home 的 Navlink 始终处于活动状态

IT技术 reactjs react-router-dom
2021-05-18 10:32:42

导航有效,主页链接始终处于活动状态,其他链接都可以。添加为组件,没有props。

HTML

 <Menu/>

CSS

.active{
background-color:#ff6a00;
}

JS

import React, { Component } from 'react';
import './menu.css';
import { NavLink } from 'react-router-dom'
export default class TopMenu extends Component {

 render() {
    return (
        <div className="ui container">
            <div className="ui stackable menu">
                <div className="item">
                    <NavLink to='/' >
                        <i aria-hidden="true" className="home  icon" ></i>
                        Home
                     </NavLink>
                </div>
                <div className="item">
                    <NavLink to='/about' >
                        <i aria-hidden="true" className="circle info  icon" > 
                        </i>
                        About
                    </NavLink>
                </div>

                <div className="item" >
                    <NavLink to='/Settings'>
                        <i aria-hidden="true" className="cogs icon red" ></i>
                        Settings
                    </NavLink>
                </div>
            </div>
        </div>
     );
   }
 }

任何人的想法,为什么家总是活跃的?

2个回答

您必须为您的家庭路线“/”指定确切的props,因为这与所有其他路线匹配,这就是“/”始终处于活动状态的原因。

 <NavLink to='/' exact={true}>
   <i aria-hidden="true" className="home  icon" ></i>
   Home
 </NavLink>

.active--link{
color:red;
}
<NavLink to="/" activeClassName="active--link"  className="your custom class" > 
    Home 
</NavLink> 
<NavLink to="/classes" activeClassName="active--link" className="your custom class" > 
   Classes 
</NavLink>