React-admin的dataProvider是否应该对数据应用格式设置?

时间:2019-01-22 09:25:30

标签: javascript reactjs redux dataprovider react-admin

这个问题是概念性的,应在dataProvider返回数据之前对它应用格式设置,然后将其返回到react-admin的前端,还是dataProvider必须仅对数据获取程序起作用,并且必须始终以来自后端的格式返回数据。终端服务?你觉得呢?

如果要从后端嵌套深度嵌套,结构复杂的数据并简化显示过程,该怎么办?您将在哪里缩小/格式化它:

  1. 在dataProvider中,从服务器接收到数据之后,然后再将其发送到React-admin的UI,或者
  2. 在用户界面(也称为资源视图)中,或者也许
  3. 使用自定义减速器:https://marmelab.com/react-admin/Actions.html#using-a-custom-reducer

您认为最优雅,最概念上正确的方法是什么?

1 个答案:

答案 0 :(得分:1)

简短的答案:您可以根据自己的需要进行选择。

这实际上是一个好问题,答案可能是:这取决于用例。

首先,如果您要谈论与特定API格式(例如ODATA或GraphQL)相关的通用数据提供程序,则最好在数据提供程序中转换数据。如果此数据提供程序是开源的,则更是如此。

the documentation says

  

[数据提供者]是将数据查询转换为HTTP请求,并将HTTP响应转换为数据响应的地方。

也就是说,如果您谈论的是为自己的自定义API(或组合或API)创建的特定数据提供程序,则可以同时执行两种操作:数据提供程序转换或使用自定义化简器,或两者兼而有之。

在数据提供者中进行数据转换没有错。您只需要知道React Admin在其redux存储中缓存来自商品的数据,并执行一些optimistic rendering or undo actions之类的奇特的事情。