//文章页面
const ArticlePage = ({ match }) => {
const name = match.params.name;
return (
<>
<h1>
This is {name} Article
</h1>
</>
);
}
export default ArticlePage;
//应用
import { BrowserRouter, Route, Routes } from 'react-router-dom';
import NavBar from "./NavBar";
import NotFound from "./pages/NotFound";
import ArticlePage from "./pages/ArticlePage";
function App () {
return (
<div className="App">
<BrowserRouter>
<NavBar />
<Routes>
<Route exact path='/' element ={<HomePage />} />
<Route path = '/topic' element = {<Topic />} />
<Route path = '/about' element = {<AboutPage />} />
<Route path = '/article/:name' element = {<ArticlePage />} />
<Route path = '*' element = {<NotFound />} />
</Routes>
</BrowserRouter>
</div>
);
}
export default App;
//导航栏页面
import { Link } from 'react-router-dom';
import './NavBar.css';
const NavBar = () => (
<nav>
<ul>
<li className='li'>
<Link to ="/" className='link' > Home </Link>
</li>
<li className='li'>
<Link to ="/about" className='link' > About </Link>
</li>
<li className='li'>
<Link to = "/article" className='link'> Article </Link>
</li>
<li className='li'>
<Link to = "/topic" className='link' > Topic </Link>
</li>
</ul>
</nav>
);
export default NavBar;
**我试图使用变量“name”传递URL参数,但当我访问ArticlePage时,我得到404:Not Found(我的NotFound页面的内容)。我试图使用ArticlePage中的props(match)获取“name”变量的值,但无法呈现它。反应相当新,任何提示或解决方案都将不胜感激。我正在使用React v6**
试试这个代码,它很管用
import { useParams } from 'react-router-dom';
const ArticlePage = () => {
const params = useParams();
return (
<>
<h1>
This is {params.name} Article
</h1>
</>
);
}
export default ArticlePage;
本文向大家介绍React-Router怎么获取URL的参数?相关面试题,主要包含被问及React-Router怎么获取URL的参数?时的应答技巧和注意事项,需要的朋友参考一下 在之前的版本中,可以通过 this.props.location.query.bar 进行获取 在 v4 中,通过 this.props.location.search 获取,不过需要进行处理
我使用的是React路由器V4,我有此路由器的配置: 是可选的语言参数,它应该与模式匹配,例如、或不匹配。例如,应用程序利用这些路由: 另外,我还有一个额外的组件,在其中我定义了函数的路由: 因此,我希望实现的结果是,只接受允许的语言代码(和空参数),而不接受的代码将被重定向到组件。 可能吗?如何实现这一目标? 非常感谢这个例子
这是一个快速的问题,但到目前为止我还没有找到解决方案: 我想访问URL参数与react-router v4使用渲染方法。到目前为止,我发现的一切只是像这样传递组件: <代码> 但是我想使用这样的渲染方法: <代码> 但是,当我尝试在我的组件中使用访问参数时,道具是未定义的。 你知道我如何使用渲染函数并仍然访问url参数吗?
我正在使用react路由器,我想通过单击一行重定向到详细页面。 这是我的组件 单击url时,url将更改,但我的页面保持不变。我是这样定义路线的 我不知道为什么,这是工作在其他地方的应用程序。我也检查并尝试了这个线程 Browser History push无法导航到新页面 我错过什么了吗? 我的路由器看起来像 使用以下方法 是一个react组件,它将子级封装到一些组件中 如下所示 其中从“rea
问题内容: 我使用React 15.0.2和React Router 2.4.0。我想将多个参数传递给我的路线,但我不确定如何以最佳方式做到这一点: 想要的是这样的: 问题答案: 正如@ alexander-t所提到的: 如果要将它们保留为可选: React Router v4与v1-v3不同,并且可选的路径参数未在文档中明确定义。 而是指示您定义path-to-regexp可以理解的路径参数。这