Redux createAPI 在使用 Transform 时返回未定义

问题描述 投票:0回答:1
export const storageApi = createApi({
  reducerPath: "storage",
  baseQuery: storageRequestBaseQuery(),
  endpoints: (builder) => ({
    getInventory: builder.query<InventoryAssets | undefined, string>({
      query: (id) => id + "_inventory.geojson",
      transformResponse: apiTransform
    }),

当我在 storageApi 基本查询中控制台记录 fetch 的输出时,我看到了预期的响应,但是,当我从 TransformResponse 控制台记录时,我看到未定义,这最终会在前端作为未定义值命中钩子,没有错误。

当我删除

transformResponse
片段时,我从我的钩子中得到了有效的响应,但它没有被转换...

我错过了什么?

reactjs redux
1个回答
0
投票

为了解决这个问题,我将我的baseQuery响应类型与我的transformResponse输入签名对齐,这使它工作。

const storageRequestBaseQuery = (): BaseQueryFn<
  string,         // Input type
  unknown,        // Response type
> => { 
...
}

static apiTransform(i: unknown): InventoryAssets {  //input type should match Response Type
...
}
© www.soinside.com 2019 - 2024. All rights reserved.