这个问题是概念性的,dataProvider 是否应该在将数据返回到 react-admin 的前端之前对数据应用格式,或者 dataProvider 必须只扮演数据 getter 的 Angular 色并且必须始终以来自后台的格式返回数据 -结束服务?你怎么看?
如果你从后端获取的数据嵌套很深,结构很复杂,需要更简单的展示,你会怎么做?你会在哪里减少/格式化它:
- 在 dataProvider 中,在从服务器接收到它之后发送到 React-admin 的 UI 之前,或者
- 在用户界面(又名资源 View )或可能
- 通过使用自定义 reducer :https://marmelab.com/react-admin/Actions.html#using-a-custom-reducer
在您看来,最优雅、最概念化的正确方法是什么?
最佳答案
简短回答:您可以根据需要同时执行这两种操作。
这实际上是一个很好的问题,答案可能是:这取决于用例。
首先,如果您谈论的是与特定 API 格式(例如 ODATA 或 GraphQL)相关的通用数据提供程序,则最好在数据提供程序中转换数据。如果此数据提供者是开源的,则更是如此。
[A data provider] is the place to translate data queries to HTTP requests, and HTTP responses to data responses.
也就是说,如果您谈论的是为您自己的自定义 API(或组合或 API)制作的特定数据提供程序,您可以同时进行:数据提供程序转换或使用自定义缩减器,或两者兼而有之。
在数据提供者中进行数据转换没有错。你只需要知道 React Admin 缓存来自 provide 的数据到它的 redux store 并做一些像 optimistic rendering or undo actions 这样的奇特的事情。 .
关于javascript - React-admin 的 dataProvider 是否应该对数据应用格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54305022/