reactjs - 如何在 react-admin 中为自定义路由提供道具?
问题描述
我正在使用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 : 时 redirect="show"
,传递的道具与重定向到自定义路由时不同?
有一些缺少的道具,我需要它们,比如 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} />} />
推荐阅读
- java - 将字符串拆分为 n 部分,用破折号分隔
- jquery - 仅从 Json 响应中拆分值
- java - 创建实体后的 Spring Hibernate 异常
- php - 单击任何链接后如何重新加载页面
- java - HTTP 状态码总是从 HttpServletResponse 返回 200
- python - heapq.nlargest() 的关键函数
- python - 如何在 Python 中访问我的 iPhone 文件(通过 USB)?
- vim - vim sed 嵌入式语法高亮
- wpf - 在 IntegerUpDown 上调用 WPF 命令(扩展 WPF 工具包)
- c# - 我们可以为 asp.net .web 表单创建 pwa-app 吗?