为React Admin 3.7实现GraphQL数据提供程序

为React Admin 3.7实现GraphQL数据提供程序,graphql,react-admin,graphql-ruby,Graphql,React Admin,Graphql Ruby,我正在与React Admin和GraphQL(由提供动力)建立一个项目。从外观上看,我应该实现自己的数据提供程序 综上所述,执行此操作的方法似乎是返回由承诺组成的对象,例如: const dataProvider = { getList: (resource, params) => Promise, getOne: (resource, params) => Promise, getMany: (resource, params) => Promise, ge

我正在与React Admin和GraphQL(由提供动力)建立一个项目。从外观上看,我应该实现自己的数据提供程序

综上所述,执行此操作的方法似乎是返回由承诺组成的对象,例如:

const dataProvider = {
  getList: (resource, params) => Promise,
  getOne: (resource, params) => Promise,
  getMany: (resource, params) => Promise,
  getManyReference: (resource, params) => Promise,
  create: (resource, params) => Promise,
  update: (resource, params) => Promise,
  updateMany: (resource, params) => Promise,
  delete: (resource, params) => Promise,
  deleteMany: (resource, params) => Promise,
};
但是,看看GraphQL数据提供程序示例,它们似乎正在使用v2方法。我不确定这是因为GraphQL数据提供程序必须使用v2方式,还是因为它们根本没有更新

简单地说,我想知道为什么不像上面那样返回一个对象,在每个方法中使用Apollo执行查询并格式化/返回结果

我错过什么了吗?这种方式(我认为)不会运行内省查询,所以可能有一个我不知道的缺点


任何提示都将不胜感激:)

面对类似的任务。这方面有什么更新吗?我创建了一个数据提供程序,如上所述。我有一个与RESTAPI对话的自定义数据提供程序,我正在考虑切换到GraphQl,因为它可以在单个查询中检索合同编辑页面所需的信息。但是react管理体系结构似乎没有很好地映射到GraphQl的工作方式。使用编辑页面示例,您知道需要合同编号、合同签署日期和合同项。自然的方法是将此查询与编辑页面一起存储。列表也一样,您只需要数字和日期。归根结底,据我所知,由于dataProvider实现,您失去了GraphQl提供的灵活性。您可能需要检索资源的不同子集,但react admin将您限制在单个子集内。当然,您可以为每个子集定义一个不同的资源,但感觉有些粗糙。