希望你们一切都好。
我使用的RTK突变Typescript一切都工作良好,但如果我发送任何错误,从后端在特定的JSON格式,如
{
status: "Error",
message "Something went wrong"
}
当我检查我的浏览器网络选项卡时,它会向我显示正确的错误响应,如:
{
data: {
status: "Error",
message "Something went wrong"
}
}
我在变异钩子中得到错误:
const [createCategory, {isLoading, error }] = useCreateCategoryMutation();
但我无法访问错误。数据。消息在我的React,它是给我类型的错误,如:
Property 'data' does not exist on type 'FetchBaseQueryError | SerializedError'.
3条答案
按热度按时间o7jaxewo1#
此时,它可能是来自服务器的错误(
FetchBaseQueryError
),也可能是您编写的代码引发的任何错误(SerializedError
,例如query
、queryFn
、transformResponse
等)-而且可能具有完全不同的形式。要确保它是
FetchBaseQueryError
,只需执行以下操作bnl4lu3b2#
我在这里找到了你的问题的答案,也是由Phry写的:),
https://github.com/rtk-incubator/rtk-query/issues/86#issuecomment-738845312
如果您知道从服务器返回的所有非2xx状态响应的格式,则可以直接将
9udxz4iz3#
我最终在组件本身中解决了这个问题。在我的情况下,我需要错误类型为
Record<string, string>
我不认为这是理想的,但没有找到更好的工作,目前为止