javascript - React activeClassName 在服务器上不起作用
问题描述
React activeClassName="active" 在服务器上不起作用。它在我的本地工作正常。
导航栏.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>
路由.js
<Switch>
<Route exact path="/" component={Dashboard} />
<Route exact path="/about" component={About} />
<Route exact path="/contact" component={Contact} />
</Switch>
应用程序.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'));
在我的本地输出
在此处输入图像描述
服务器上的输出
解决方案
问题可能是如果您的应用程序被用作您的生产中的子目录,例如http://yourdomain.com/your-application。在这种情况下,您应该使用路由器的basename属性。
推荐阅读
- android-studio - 安装后无法打开 Android Studio
- python - 使用单个元素或列表作为值构建字典
- arrays - 如何按值对打字稿中的数组进行排序
- postgresql - 使用 postgres 存储后端时,Vault 报告缺少客户端令牌
- python - 使用 python 请求获取网站登录的同意 cookie (CMP euconsent-v2)
- unit-testing - 单元测试 FastAPI CRUD 无法按预期工作
- python - 用户输入只能是字母字符并包含空格
- laravel - 如何更改 spatie 标签 slug 生成器方法
- c# - 从 dmcmnutils.dll 读取带参数的导出函数
- jquery - 添加 Click 处理程序,并使用 clearIntervals 取消间隔