假设我们需要先通过发布请求获取签名,然后在另一个查询(获取请求)中将其用作自定义查询
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
);
但是我收到这个错误:
Promise 类型不存在属性“数据”<{ data: UseQueryHookResult
提前致谢
您的突变将在每次渲染时执行,并且您的
getSignature
函数将返回一个承诺。
您实际上不需要对 POST 请求进行更改 - 请改用查询。
const res = useGetSignatureKeyQuery();
const data = useFetchDataQuery(arg, {
skip: !res.data?.attributes.signature,
});