React-Admin:实现自定义请求类型

React-Admin: Implementing a Custom Request Type

是否可以在 react-admin 框架的自定义提供程序中实现自定义 请求类型

我的用例

就我而言,我有 2 个不同的参考字段案例。

1。参考 ID 字段(正常)

api -> users/1
api -> comments/1

2。子实体引用

api -> users/1/comments/1

所以我打算实现另一种请求类型,像这样:

    switch (type) {
      case GET_LIST:
        return apiGetList(resourceName, params);
      case GET_MANY:
        return apiGetMany(resourceName, params);
      case GET_MANY_REFERENCE:
        return apiGetManyReference(resourceName, params);
      case GET_MANY_REFERENCE_CUSTOM:
        return apiGetManyReferenceCustom(resourceName, params);
    }

但我不知道如何从自定义字段触发类型?

react-admin 更新 3.x

因此,对于 React Admin 3.x,数据提供者现在使用方法调用而不是 switch case。

比如你可以创建自己的dataprovider方法,消费者可以通过调用它来检查它是否存在。

  try {
    const response = await dataProvider.createMany(resource, { data: values });
    return response;
  } catch (error) {
    const shouldTryFallback = error.toString().includes("Unknown dataProvider");
    const apiError = !shouldTryFallback;
    if (apiError) {
      // handle api error
    }
    if (shouldTryFallback) {
      console.log(
        "createInDataProvider",
        "createMany not found on data provider (you may need to implement it)"
      );
      try {
        // try and use fallback dataprovider methods
      } catch (error) {
        // handle fallback error
      }
    }
  }
  return reportItems;

如何使用的完整示例:https://github.com/benwinding/react-admin-import-csv/blob/0868ca554501c3545dac28a5101ee60a20736aa2/src/uploader.ts#L78