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

时间:2019-02-10 13:10:49

标签: react-admin

是否可以在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);
    }

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

1 个答案:

答案 0 :(得分:0)

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