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
片段时,我从我的钩子中得到了有效的响应,但它没有被转换...
我错过了什么?
为了解决这个问题,我将我的baseQuery响应类型与我的transformResponse输入签名对齐,这使它工作。
const storageRequestBaseQuery = (): BaseQueryFn<
string, // Input type
unknown, // Response type
> => {
...
}
static apiTransform(i: unknown): InventoryAssets { //input type should match Response Type
...
}