【问题标题】:React-Admin: Implementing a Custom Request TypeReact-Admin:实现自定义请求类型
【发布时间】:2019-07-04 03:08:30
【问题描述】:

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


    【解决方案1】:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-11
      • 2013-11-11
      • 2015-02-27
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 2015-09-17
      • 1970-01-01
      相关资源
      最近更新 更多