如何在RTK查询中根据响应数据设置数据?



我是RTK查询的新手。在文档中,我发现了transformResponse,但不知道如何使用它来解决这个问题。

端点是这样的

getTransactions: build.query<TransactionResponse, void>({
query: () => ({ url: 'transactions' }),
providesTags: (result = []) => [
...result.map(
({ id }) => ({ type: 'Transaction', id } as const)
),
{ type: 'Transaction' as const, id: 'LIST' },
],
}),

和每个事务数据都有一个结果数据,其中包括is_error:boolean

获取事务后,我希望能够计数is_error的数量,并将其设置为is_error_count

用transformResponse:

解决这是响应类型:

type TransactionResponse = {
transactions: Transaction[];
is_error_count: number;
};

这是transformResponse:

transformResponse: (response: Transaction[]) => {
return {
transactions: response,
is_error_count: getIs_error_count(
response.map((res) => res.transaction_result)
),
};
},

getIs_error_count只是一个计数器函数,所以忽略它

相关内容

  • 没有找到相关文章

最新更新