javascript - React activeClassName 在服务器上不起作用

标签 javascript reactjs react-router

React 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

最佳答案

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

关于javascript - React activeClassName 在服务器上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58319380/

相关文章:

javascript - 当 JavaScript 中的变量发生变化时,div 内容会更新

javascript - 动态平滑切换颜色

javascript - AngularJS 中的 JSON 解析

javascript - 无法读取未定义的属性 'props' - React Router

reactjs - react 路由器 v4.2.2 : using a string instead of function inside component prop of Route results in error

javascript - React JS - 通过单击 NavLink 隐藏父组件的文本

javascript - 以 Angular 向元素添加调整大小功能

javascript - 当子组件调用方法时,父引用为 null - ReactJS

javascript - 如果在索引路由 React JS 上则渲染内容

javascript - 糟糕的 ComponentDidMount 函数占用了我每天 95000 次的调用 - ReactJS