当使用React Query突变时,我有一个显示错误消息的组件。但是类型记录不能将mutation.error属性识别为类型错误:
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确实是一个错误对象?
发布于 2021-06-03 21:13:51
您必须向useMutation提供泛型
useMutation<MyData, Error>但我不会那么做的。错误是未知的,因为在运行时,也可以引发非错误对象.
我认为最简单的解决方案是执行一个实例检查,而不是检查isError:
if (mutation.error instanceof Error){
console.log(mutation.error.message);
}这将正确地缩小错误类型,从而使.message可用。
https://stackoverflow.com/questions/67828232
复制相似问题