如何将一般错误处理添加到我的 React 应用程序中?
How do I add general error handling into my React app?
我目前正在构建一个进行大量服务器通信的 React 应用程序。如果发生服务器错误,我想以一般方式向用户显示错误,例如带有错误消息的叠加层。
使用容器组件
在我的减速器中,我 return 是这样的:
{
type: "LIST_POSTS_ERROR",
loading: false,
error: {
msg: "An error occurred"
}
}
显然,我的容器组件支持 redux。在 render()
函数中,我可以检查当前状态是否有 属性 error
,如果有,我将呈现错误消息。奇怪的是,在每个容器组件中,我都必须检查当前状态,并且可能在每个容器组件中都有重复的代码。
更通用的方法
我要寻找的是一种更通用的方法。了解所有状态并在当前状态包含错误时自动显示错误消息的东西。把它想象成错误的拦截器。当然,这个组件不属于路由,所以我想知道这是否可能?
你是如何在你的 React 应用程序中进行错误处理的?我很想知道你的方法!
在我的应用程序中,我有一个名为 handleError
的操作,它将在我的应用程序中触发一个 toast
组件。
您可以在出错时dispatch
执行此操作。比如,你可以在 Promise
的 .catch()
中 dispatch
它。
我正在为我的应用程序尝试类似的东西。因此,在 catch 或 >=400 响应上触发调度以设置状态中的字符串(您的 api 响应)并将此值连接到您的组件。
接下来,可能在 4-5 秒后触发调度以清除该值,这样您的消息就会消失。您可以在登录屏幕或 post API 调用中实现这一点。
希望对您有所帮助!!!
我目前正在构建一个进行大量服务器通信的 React 应用程序。如果发生服务器错误,我想以一般方式向用户显示错误,例如带有错误消息的叠加层。
使用容器组件
在我的减速器中,我 return 是这样的:
{
type: "LIST_POSTS_ERROR",
loading: false,
error: {
msg: "An error occurred"
}
}
显然,我的容器组件支持 redux。在 render()
函数中,我可以检查当前状态是否有 属性 error
,如果有,我将呈现错误消息。奇怪的是,在每个容器组件中,我都必须检查当前状态,并且可能在每个容器组件中都有重复的代码。
更通用的方法
我要寻找的是一种更通用的方法。了解所有状态并在当前状态包含错误时自动显示错误消息的东西。把它想象成错误的拦截器。当然,这个组件不属于路由,所以我想知道这是否可能?
你是如何在你的 React 应用程序中进行错误处理的?我很想知道你的方法!
在我的应用程序中,我有一个名为 handleError
的操作,它将在我的应用程序中触发一个 toast
组件。
您可以在出错时dispatch
执行此操作。比如,你可以在 Promise
的 .catch()
中 dispatch
它。
我正在为我的应用程序尝试类似的东西。因此,在 catch 或 >=400 响应上触发调度以设置状态中的字符串(您的 api 响应)并将此值连接到您的组件。
接下来,可能在 4-5 秒后触发调度以清除该值,这样您的消息就会消失。您可以在登录屏幕或 post API 调用中实现这一点。
希望对您有所帮助!!!