问题描述
我正在使用 reac-admin,并希望在编辑后将用户重定向到自定义路由。
<Edit {...props}>
<TabbedForm redirect={redirect(`/XXX/${props.id}/YYY`)} >
{/* fileds */}
</TabbedForm >
</Edit>
<Route exact path="/XXX/:id/YYY" render={(props) => <MyRoute {...props} />} />
我的问题是如何像 show 一样传递 props?
为什么重定向显示:redirect="show"
时,传递的 props 与重定向到自定义路由时不同?
缺少道具,我需要它们,例如 id。
我应该怎么做才能解决我的问题?
谢谢!
解决方法
您有两种方法可以做到这一点:
第一个选项
<Route exact path="/XXX/:id/YYY" render={() => <MyRoute />} />
在 MyRoute 中:
import { useParams } from 'react-router';
const MyRoute = () => {
let { id } = useParams();
// ...
}
第二个选项
<Route exact path="/XXX/:id/YYY" render={(props) => <MyRoute id={props.match.params.id} />} />