首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React查询mutation.error不被识别为类型错误

React查询mutation.error不被识别为类型错误
EN

Stack Overflow用户
提问于 2021-06-03 20:23:31
回答 1查看 3.1K关注 0票数 2

当使用React Query突变时,我有一个显示错误消息的组件。但是类型记录不能将mutation.error属性识别为类型错误:

代码语言:javascript
复制
if (mutation.isError){
    console.log(mutation.error.message);             // Property 'message' does not exist on type 'unknown'.
    console.log((mutation.error as Error).message);  // works
}

我如何告知类型记录,mutation.error确实是一个错误对象?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-03 21:13:51

您必须向useMutation提供泛型

代码语言:javascript
复制
useMutation<MyData, Error>

但我不会那么做的。错误是未知的,因为在运行时,也可以引发非错误对象.

我认为最简单的解决方案是执行一个实例检查,而不是检查isError:

代码语言:javascript
复制
if (mutation.error instanceof Error){
    console.log(mutation.error.message);
}

这将正确地缩小错误类型,从而使.message可用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67828232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档