[英]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.