我怎样才能得到当前的“page”,也就是Route
下面的":name"
,并把它作为一个prop传递给<Food>
组件?例如,如果我在"/food/egg", I should be passing
“egg”'上传递给组件,那么有这么多的版本,我找不到答案。
import React, { Component } from 'react';
import "./App.css";
import Food from './Food';
import { Routes, Route} from 'react-router-dom';
export default class App extends Component {
render() {
return (
<div className="App">
<Routes>
<Route path="/food/:name" element={<Food name=
{something here?} />} />
</Routes>
</div>
)
}
}
2条答案
按热度按时间np8igboo1#
来自React工艺路线文件:
所以你只需要使用
useParams
钩子,它返回一个类似{ id: "1234", name: "John Doe" }
的对象。qhhrdooz2#
我不知道如何将其作为一个属性传递,但我可以帮助您从目的地路线中的url获取值,即'/food/:name'
useLocation是react router v6中的钩子,它可以帮助你获得当前的url,一旦你得到了它,你就可以使用split函数将它拆分,并从url中提取你需要的信息。
代码如下所示:
首先是import语句
然后main函数中的代码
在split函数中,传入“:name”相对于url的索引值
PS:这是我在这里的第一个答案,希望能有所帮助!