我想了解什么是正确的办法是解决嵌套的终点,让我们假设我有一个多对多books和authors关系,以及API暴露api/authors,api/books和api/authors/{id}/books。这是一种常见的设计模式。
CRUD onapi/authors在 react-admin 中运行良好。但是,在作者下,<Show>我想展示<Datagrid>所有带有分页和排序的书籍,我的 api 在api/authors/{id}/books.
制作这种嵌套端点的数据网格的正确方法是什么?
我研究了在<ReferenceManyField>一对多上下文中运行良好但不允许访问嵌套端点,仅过滤端点的 。
理想情况下,我想要一些类似的东西:
<Show {...props}>
<TabbedShowLayout>
<Tab label="Books">
<NestedResourceField reference="books" nestedResource={`authors/${props.record.id}/books`} pagination={<Pagination/>} >
<Datagrid>
<TextField source="name" />
</Datagrid>
</NestedResourceField>
</Tab>
</TabbedShowLayout>
</Show>
请注意,这<NestedResourceField>是一个假设的组件,它的行为与 非常相似,<ReferenceManyField>但会接受一个嵌套的端点nestedResource而不是target。
我正在努力理解假设的设计策略应该是什么<NestedResourceField>,以便尽可能多地重用 react-admin 框架。
“手动”自己获取并列出内容会很简单,但随后我会丢失所有的分页、过滤、排序等……这是 react-admin 以及books已经定义的资源这一事实。
我的问题类似于这些未回答的问题:
编辑
原来我以前没有发现的一个几乎相同的问题在这里发布: 支持资源嵌套