[英]React Routes and Components prop mix
我有以下代碼行:
<Route path="/users/:id" exact ><User url={structure.users} /></Route>
在用戶組件中,我執行以下操作:
function User(props, {match}) {
useEffect(() => {
console.log(match);
console.log(props);
}, [props]);
// ...
}
我刪除了一些代碼,因為我只想顯示什么是必要的,但在這里我看到匹配是未定義的,但它應該有來自鏈接的 match.params.id。 我怎樣才能做到這一點,以便我可以使用帶有附加 ID 的 url 制作完整的 url?
React 組件僅接收單個 props object 參數。
使用Route
的render
道具,以便您可以將路由道具傳遞給組件。
<Route
path="/users/:id"
exact
render={routeProps => <User url={structure.users} {...routeProps} />}
/>
或者,您可以使用useParams React 掛鈎來訪問當前Route
的match.params
。
import { ...., useParams, .... } from 'react-router-dom';
function User(props) {
const { id } = useParams();
useEffect(() => {
console.log(id);
console.log(props);
}, [props]);
// ...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.