RTK 查询的 useLazyQuery 挂钩中的错误处理?

Doo*_*096 5 reactjs redux redux-toolkit rtk-query

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

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

其中参数分别result被解构为prodLoadingprodErrorprodData当正确的参数传递给查询时,可以通过 访问所获取的产品prodData,但出现错误时不会通过 访问任何内容prodError,这让我想到了我的问题,我们如何处理挂钩中的错误useLazyQuery

有什么方法可以获取isLoading我们erroruseQuery挂钩中使用的参数吗?

const {data, error, isLoading, isSuccess} = useGetAllProductsQuery('', {skip,});
Run Code Online (Sandbox Code Playgroud)

Eug*_*nko 12

useQuery其实和common的界面一模一样。只有一件事令人担忧 - 似乎您正在阅读不存在的loading文件,而该文件原本应该是isLoading. 除此之外,它很简单:

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

或者

const { data, isLoading, isError, error } = await trigger();
Run Code Online (Sandbox Code Playgroud)

error如果您登录isError控制台来检查是否确实发生了错误,那就太好了。