首页 > 解决方案 > 如何在 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。

我应该做什么来解决我的问题?

谢谢!

标签: reactjsreact-routerreact-admin

解决方案


你有两种方法可以做到这一点:

第一个选项

<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} />} />

推荐阅读