RTK Query 的useLazyQuery hook 错误处理?

Error handling in useLazyQuery hook of RTK Query?

以下是我对 useLazyQuery 挂钩的实现:

const [trigger,
        { 
    loading: prodLoading,
    error: prodError, 
    data: prodData 
    }
  ] = prodApi.endpoints.getAllProducts.useLazyQuery();

其中result参数被解构为prodLoadingprodErrorprodData。 当将正确的参数传递给查询时,可以通过 prodData 访问获取的产品,但如果出错,则无法通过 prodError 访问任何内容,这让我想到了我的问题,我们如何处理错误useLazyQuery 钩子?

有什么方法可以获取我们在useQuery钩子中使用的isLoadingerror等参数吗?

const {data, error, isLoading, isSuccess} = useGetAllProductsQuery('', {skip,});

其实和普通useQuery的界面一模一样。 只有一件事令人担心 - 似乎您正在阅读不存在的 loading 文件,预计是 isLoading。除此之外,它很简单:

const [trigger, { isLoading, isError, data, error } ] = prodApi.endpoints.getAllProducts.useLazyQuery();

const { data, isLoading, isError, error } = await trigger();

如果您将 errorisError 记录到控制台以检查是否确实发生了错误,那就太好了。