反应activeClassName在服务器上不起作用

时间:2019-10-10 09:13:02

标签: javascript reactjs react-router

反应activeClassName =“ active”在服务器上不起作用。在我的本地计算机上正常运行。

Navbar.js

<ul className="sidebar-elements">
    <li><NavLink to="/" exact activeClassName="active">Dashboard</NavLink></li>
    <li><NavLink exact to="/about" activeClassName="active">About Us</NavLink></li>
    <li><NavLink exact to="/contact" activeClassName="active">Contact Us</NavLink></li>
</ul>

Routes.js

<Switch>
        <Route exact path="/" component={Dashboard} />
        <Route exact path="/about" component={About} />
        <Route exact path="/contact" component={Contact} />
</Switch>

App.js

<div className ="App ">
    <div className="contentSection">
        <Navbar/>
        <main id="content">
            <Routes /> 
        </main>
    </div>
</div>

index.js

ReactDOM.render(<Router><App /></Router>, document.getElementById('root'));

在我的本地计算机上输出

enter image description here

服务器上的输出

enter image description here

1 个答案:

答案 0 :(得分:0)

问题可能是如果您的应用程序作为生产中的子目录(如http://yourdomain.com/your-application)提供的。 在这种情况下,您应该使用路由器的basename属性。