你不需要定义自己
QueryResult
类型,可以从中导入
@tanstack/react-query
import {useQuery, UseQueryResult} from '@tanstack/react-query'
class DataListManager<TData extends object, TPath extends keyof TData> {
constructor(
private readonly _query: UseQueryResult<TData>,
private readonly _path: TPath,
) {}
get query() {
const items = get(this._query.data, this._path) ?? []
return {
...this._query,
data: {
items,
},
}
}
}
如果需要改进,请使用
Pick
type QueryResult<TData extends object> = Pick<UseQueryResult<TData>, "isSuccess" | "isPending" | "isError" | "data">
Playground