【问题标题】:What is the type of error in react-query MutationCache onError function in TypescriptTypescript中react-query MutationCache onError函数的错误类型是什么
【发布时间】:2022-11-01 14:46:30
【问题描述】:

Typescript 中 react-query MutationCache onError 函数的错误类型是什么。 以及如何覆盖类型以便我可以从数据中获取 fullMessage 并使用它

const queryClient = new QueryClient({
    mutationCache: new MutationCache({
        onError: (error) => {
          const serverError = error as IServerError;

          toastError(serverError?.response?.data?.fullMessage);
        },
    }),
});

我不想使用

const serverError = error as IServerError;

因为它感觉很hacky。

我可以看到使用 webstorm 可以将泛型传递给它,但我不明白如何将这些泛型传递给它。

【问题讨论】:

    标签: reactjs typescript react-query


    【解决方案1】:

    error 属于 unknown 类型,因为 react-query 无法知道您的查询/突变产生了哪种错误。您可以throw 5,然后error 将是number 类型。

    如果你认为你知道它的类型是IServerError,那么你需要做一个类型断言。安全的做法是使用用户定义的类型保护进行运行时检查。

    要缩小Error 的范围,您只需要:

    if (error instanceof Error) {
      // error is now of type Error
    }
    

    【讨论】:

      猜你喜欢
      • 2021-11-29
      • 2021-02-25
      • 2023-03-24
      • 2018-03-09
      • 2016-11-22
      • 2020-01-29
      • 1970-01-01
      • 2022-11-25
      • 2019-05-10
      相关资源
      最近更新 更多