【发布时间】:2021-08-16 03:49:41
【问题描述】:
所以,我使用了带有 react-query 的选择器,当我尝试从缓存中提取一些值时出现错误。
这是我得到的错误: TS2339:“QueryObserverResult”类型上不存在属性“phone”。
- 这里 select 的“类型”是什么?
这里是缓存突变:
export default function useProductCache (select: ?): QueryObserverResult<Product, Error> {
const queryClient = useQueryClient();
return useQuery(
queryKey,
async () => {
const product = await queryClient.getQueryData(queryKey);
return product;
},
{ select }
);
}
这里是我创建“selector-esque”函数的地方:
export const useProductByKeysSelector = (keys: string[]) => useProductCache((data: Product) => {
const objectByKeys = keys.reduce<Record<string, any>>((byKeys, k) => {
byKeys[k] = get(data, k);
return byKeys;
}, {})
return objectByKeys;
})
因此,“电话”在产品上。但它仍然给我一个错误(如上所述)?
如果我想在返回值中“添加”一个自定义键,我该如何输入呢?
【问题讨论】: