# React错误处理
在用户使用过程中,可能遇到各种异常情况,比如页面404,申请结果失败,请求的返回异常等等,这篇文档会按照报错形式的不同,分别介绍下相应的处理建议。
# 页面级报错
# 应用场景
- 路由直接引导到错误页面,比如你输入的网址没有匹配到任何页面,可以由路由引导到预设的 404 页面。
- 代码控制跳转到报错页面,比如根据请求返回的数据,将没有权限的用户引导到 403 页面。
# 实现
针对页面级的报错:
class Exception extends React.Component{
static defaultProps = {
type:404
}
constructor(){
super();
this.state = {
}
}
render(){
//可自定义错误信息
if(this.props.type >= 404 && this.props.type < 422){
return <div>404,页面未找到</div>
}else if(this.props.type == 403 ){
return <div>403,没有访问权限</div>
}else if(this.props.type <= 504 && this.props.type >= 500){
return <div>500,服务器错误</div>
}
}
}
<Exception/> //404错误
<Exception type="403"/> //403错误
<Exception type="500"/> //500错误
# 提示性报错
# 应用场景
- 表单项校验报错。
- 操作反馈。
- 网络请求错误。
# 实现
提示性错误一般情况下,我们需要定义 提示组件 给与响应提示即可。
# Alert 警告提示
警告提示,展现需要关注的信息。非浮层的静态展现形式,始终展现,不会自动消失,用户可以点击关闭。
class Alert extends React.Component{}
# Message 全局提示
可提供成功、警告和错误等反馈信息。顶部居中显示并自动消失,是一种不打断用户操作的轻量级提示方式。
class Message extends React.Component{}
# Notification 通知提醒框
全局展示通知提醒信息。在系统四个角显示通知提醒信息。经常用于以下情况:
- 较为复杂的通知内容。
- 带有交互的通知,给出用户下一步的行动点。
- 系统主动推送。
class Notification extends React.Component{}