微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 react-admin 中为自定义路由提供道具?

如何解决如何在 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 一样传递 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} />} />

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。