react-admin 中资源路由的自定义路径
Custom path for resource route in react-admin
有没有办法为资源指定自定义路径?
示例:<Resource name="User" path="/manageUsers" {...}>
如果不可能 "per resource",我们是否可以让所有 CRUD 页面都位于相同的基本路径下,例如:/crud/{/$resource.name
} 但保留没有该基本路径的自定义路由。
非常感谢。
编辑#1
对于上下文,我们正在构建一个管理面板,它将有很多流程,基本上是逐步创建资源。因此,我对 react-admin 库的功能表示赞赏(管理 CRUD 部分),但我希望在 URL 的方式上有更大的灵活性。
我需要一个名为 /manageUsers/
的部分,其中包含一些数据,例如仪表板,然后列表可以是 /manageUsers/list/
。
然后我可能需要另一个名为 /customers/
的部分,它将直接列在该页面上。
编辑 #2
为了给出另一个用例,我正在尝试使用 graphQL 作为数据提供者,并且我不得不重命名我的所有资源,因为其余 API 使用 users
where 作为 graphQL 资源是 User
。所以我所有的网址现在都不一样了!
我希望这能让它更清楚一点。
Is there any way to specify custom paths for resources?
不,目前不支持。解决此问题的一种方法是使用 manageUsers
作为资源名称并将其转换为数据提供程序中的 User
。
I will need to have a section called /manageUsers/ that will have some data like a dashboard, and then the list could be /manageUsers/list/.
默认情况下也绝对不支持。但是,您可以用自己的组件替换默认的 Resource
组件。它实际上只是为 React Router 开关内的资源创建路由。请注意,您可能必须覆盖某些组件(例如 Edit
)的 redirect
属性,因为当传递 list
时,它们希望列表位于资源根路径中。
I had to rename all my resources since the rest API is using users where as the graphQL resource is User
这就是 dataProvider 的工作,将资源名称转换为您的后端所期望的名称。使用对您的用户有意义的资源名称(url 明智)。
有没有办法为资源指定自定义路径?
示例:<Resource name="User" path="/manageUsers" {...}>
如果不可能 "per resource",我们是否可以让所有 CRUD 页面都位于相同的基本路径下,例如:/crud/{/$resource.name
} 但保留没有该基本路径的自定义路由。
非常感谢。
编辑#1
对于上下文,我们正在构建一个管理面板,它将有很多流程,基本上是逐步创建资源。因此,我对 react-admin 库的功能表示赞赏(管理 CRUD 部分),但我希望在 URL 的方式上有更大的灵活性。
我需要一个名为 /manageUsers/
的部分,其中包含一些数据,例如仪表板,然后列表可以是 /manageUsers/list/
。
然后我可能需要另一个名为 /customers/
的部分,它将直接列在该页面上。
编辑 #2
为了给出另一个用例,我正在尝试使用 graphQL 作为数据提供者,并且我不得不重命名我的所有资源,因为其余 API 使用 users
where 作为 graphQL 资源是 User
。所以我所有的网址现在都不一样了!
我希望这能让它更清楚一点。
Is there any way to specify custom paths for resources?
不,目前不支持。解决此问题的一种方法是使用 manageUsers
作为资源名称并将其转换为数据提供程序中的 User
。
I will need to have a section called /manageUsers/ that will have some data like a dashboard, and then the list could be /manageUsers/list/.
默认情况下也绝对不支持。但是,您可以用自己的组件替换默认的 Resource
组件。它实际上只是为 React Router 开关内的资源创建路由。请注意,您可能必须覆盖某些组件(例如 Edit
)的 redirect
属性,因为当传递 list
时,它们希望列表位于资源根路径中。
I had to rename all my resources since the rest API is using users where as the graphQL resource is User
这就是 dataProvider 的工作,将资源名称转换为您的后端所期望的名称。使用对您的用户有意义的资源名称(url 明智)。