让我们假设我们首先需要通过POST请求获取签名,然后在另一个查询(GET请求)中使用它作为自定义查询
export const useSignatureCustomQuery = (arg: string) => {
const [getSignature] = useGetSignatureKeyMutation();
const signature = getSignature({
url: `${REST_END_POINTS.GET_SIGNATURE}`,
})
.unwrap()
.then((res) => res.data.attributes.signature);
const data = useFetchDataQuery(arg, {
skip: !signature ,
});
return { data };
};
但当我想使用自定义查询如下
const { data: query } = useSignatureCustomQuery(
REST_END_POINTS.POSITION_INFORMATION,
!!positions
);
但我收到这个错误:
属性“data”在类型“Promise<{ data:UseQueryHookResult<QueryDefinition<string,BaseQueryFn<string| FetchArgs,unknown,FetchBaseQueryError,{} & RetryOptions,FetchBaseQueryMeta>,
提前致谢
1条答案
按热度按时间pqwbnv8z1#
你的mutation将在每次render上执行,你的
getSignature
函数将返回一个promise。对于POST请求,您实际上不需要一个变化-使用查询代替。