我对导航链接有一个小问题。它不应用活动的类名,尽管它在其他方面可以工作(转到所需的路径,呈现所需的组件)
react路由器dom版本5.2.0
我的index.js
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter } from 'react-router-dom';
import './index.css';
import App from './components/App';
ReactDOM.render(
<React.StrictMode>
<BrowserRouter>
<App />
</BrowserRouter>
</React.StrictMode>,
document.getElementById('root')
);
和my Navigation.js:
import { NavLink } from 'react-router-dom';
function Navigation() {
return (
<nav className="navigation">
<ul className="navigation__list">
<li>
<NavLink to="/" activeClassName="navigation__item_active" className="navigation__item">
Home
</NavLink>
</li>
<li>
<NavLink to="/frontend" className="navigation__item" activeClassName="navigation__item_active">
frontend
</NavLink>
</li>
<li>
<NavLink to="/about" className="navigation__item" activeClassName="navigation__item_active">
about
</NavLink>
</li>
</ul>
</nav>
);
}
export default Navigation;
UPD:路由器工作,在NaVLink的麻烦。我需要添加activeClassName到nav项目,但它没有。
我的App.js:
import React from 'react';
import Header from './Header';
import Footer from './Footer';
import Main from './Main';
function App() {
return (
<div className="App">
<Header/>
<Main/>
<Footer/>
</div>
);
}
export default App;
Main.js:
import React from 'react';
import { Route } from 'react-router-dom';
import HelloPage from './Hello-page';
import About from './About';
import Frontend from './Frontend';
import Navigation from './Navigation';
function Main() {
return (
<main className="main">
<Route exact path="/">
<HelloPage/>
</Route>
<Route path="/about">
<About/>
</Route>
<Route path="/frontend">
<Frontend/>
</Route>
<Navigation/>
</main>
);
}
export default Main;
正如在我的案例中提到的,解决方案是在webpack中替换
resolve: {
modules: [
path.resolve('./src'),
- path.resolve('./node_modules'),
+ 'node_modules',
],
},
它应该已经工作了~
顺便说一句,即使你应用了那些activeClassName
。您仍然需要将App.js
中的代码调整为如下内容:-
>
只需为主页或/
路线添加重定向
。如果不是,则activeClassName
将始终应用于home或/
路由
App.js
:-
export default function App() {
return (
<Router>
<Nav />
<Switch>
{/* Add this Redirect */}
<Redirect exact from="/" to="/home" />
<Route path="/home" component={() => "Home page"} />
<Route path="/demo" component={() => "Demo page"} />
<Route path="/demo2" component={() => "Demo2 page"} />
</Switch>
</Router>
);
}
你可以看到这个工作沙盒尝试删除重定向
,看看它是如何变化的
它由一个命令修复...(我活了10个小时)
npm i到的路径-regexp@1.7.0-S
嘿,伙计们,我正在使用react-router-dom Navlink从一个页面导航到另一个页面。这里我有两个关于路由的页面 /仪表板/学校 2./仪表板/民用服务 所以假设我在 /dashboard/school,然后我使用NavLink导航到 /dashboard/civil-services 路由发生更改,但数据未被重新提取,刷新页面后,数据将正确显示 路由组件的定义方式如下: 在该组件中,
我使用React-Router 1.0.0-rc3和Redux-Router 1.0.0-beta3。 在这种情况下,我们如何使用?
我想在我的< code >上添加属性 似乎路线路径确实与问号混淆了。如果我把它换成其他东西,比如一个符号戳,它就会“起作用”。然而,这不是我想要的格式。我想要常规的<代码> 我找不到关于如何使这样的东西工作的文档。我看到了一些关于url的部分的东西,但我不太理解它。 谢谢你的所有帮助
问题内容: 我是ReactJS世界的新手,并且想知道如何将活动的类名传递给元素而不是元素。 现在,我有这种代码。单击时,锚类会更改。 但我想得到类似的东西: 提前致谢 问题答案: 您需要将其封装为路由器感知组件: 用法: 我从react-router-bootstrap模块https://github.com/react-bootstrap/react-router- bootstrap/blob
本文向大家介绍React-Router 3和React-Router 4有什么变化?添加了什么好的特性?相关面试题,主要包含被问及React-Router 3和React-Router 4有什么变化?添加了什么好的特性?时的应答技巧和注意事项,需要的朋友参考一下 React-Router 4 从设计思想上进行改变,引入动态路由,将路由进行了拆分,将其放到了各自的模块中,不再有单独的 router
React Router 一个用于 React.js 的路由解决方案(routing solution)。它轻松可以同步你的 app 和 URL,同时给嵌套,转换,和服务端渲染一流的支持。 特性: 嵌套视图映射到嵌套路由 模块化构建路由层级 同步和异步转移挂钩 转换中止/重定向/重试 动态 segments 查询参数 当 .active 类的路由活动时可以自动链接 Multiple root r