我是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
只是一个计数器函数,所以忽略它