一、概述

原文地址:https://pro.ant.design/docs/error-cn

二、详细

2.1、页面级报错

2.1.1、应用场景

  • 路由直接引导到报错页面,比如你输入的网址没有匹配到任何页面,可以由路由引导到预设的 404 页面。

  • 代码控制跳转到报错页面,比如根据请求返回的数据,将没有权限的用户引导到 403 页面。

2.1.2、实现

针对页面级的报错,我们提供了两个业务组件供你选择,可以很方便地实现一个报错页面:

<Exception type="404" />

默认支持 404,403,500 三种错误,也可自定义文案等内容。

  • Result 结果页

    <Result
    type="error"
    title="提交失败"
    description="请核对并修改以下信息后,再重新提交。"
    actions={<Button size="large" type="primary">返回修改</Button>}
    />

    这个组件一般用在提交结果展示,文案操作等均可自定义。
      脚手架默认会将无法匹配到页面的网址引导到预设的 404 页面,如果需要自定义此页面,可以修改这个文件 ./src/routes/Exception/404.js,相关的路由配置在这里 BasicLayout.js#L362

2.2、提示性报错

2.2.1、应用场景

  • 表单项校验报错。

  • 操作反馈。

  • 网络请求错误。

2.2.2、实现

关于表单项报错,请参考 antd Form 中的实现。对于操作反馈和网络请求错误提示,有一些组件可能会用到:

在单页应用中,最常见的需求就是处理网络错误信息,我们可以利用 message 和 notification 来吐出响应的接口/网络/业务数据错误。

import fetch from 'dva/fetch';
import { notification } from 'antd'; ... fetch(url)
.then(response => response.json())
.catch((error) => {
// 处理接口返回的数据格式错误的逻辑
if (error.code) {
notification.error({
message: error.name,
description: error.message,
});
}
if ('stack' in error && 'message' in error) {
notification.error({
message: `请求错误: ${url}`,
description: error.message,
});
}
return error;
});

Ant Design Pro 封装了一个 request.js 统一处理请求,完整代码可参考:https://github.com/ant-design/ant-design-pro/blob/master/src/utils/request.js

ant design pro (十三)advanced 错误处理的更多相关文章

  1. ant design pro (十二)advanced UI 测试

    一.概述 原文地址:https://pro.ant.design/docs/ui-test-cn UI 测试是项目研发流程中的重要一环,有效的测试用例可以梳理业务需求,保证研发的质量和进度,让工程师可 ...

  2. ant design pro (十一)advanced Mock 和联调

    一.概述 原文地址:https://pro.ant.design/docs/mock-api-cn Mock 数据是前端开发过程中必不可少的一环,是分离前后端开发的关键链路.通过预先跟服务器端约定好的 ...

  3. ant design pro (十五)advanced 使用 API 文档工具

    一.概述 原文地址:https://pro.ant.design/docs/api-doc-cn 在日常开发中,往往是前后端分离的,这个时候约定好一套接口标准,前后端各自独立开发,就不会被对方的技术难 ...

  4. ant design pro (十四)advanced 使用 CLI 工具

    一.概述 原文地址:https://pro.ant.design/docs/cli-cn 为了更好以及高效的开发效率,我们提供了配套的 ant-design-pro-cli 工具. pro cli 提 ...

  5. ant design pro (十)advanced 图表

    一.概述 原文地址:https://pro.ant.design/docs/graph-cn Ant Design Pro 提供了由设计师精心设计抽象的图表类型,是在 BizCharts 图表库基础上 ...

  6. Ant Design Pro (中后台系统)教程

    一.概念:https://pro.ant.design/docs/getting-started-cn(官方网站) 1.Ant Design Pro 是什么:  https://www.cnblogs ...

  7. ant design pro (七)和服务端进行交互

    一.概述 原文地址:https://pro.ant.design/docs/server-cn Ant Design Pro 是一套基于 React 技术栈的单页面应用,我们提供的是前端代码和本地模拟 ...

  8. ant design pro 初识

    发送请求 上次讲到在api.js中发送请求,模拟了假数据,这次讲一下调用真实接口进行请求并渲染页面. 先完整的过一遍请求吧 首先view层发送请求例如下面的代码: componentDidMount( ...

  9. 【后台管理系统】—— Ant Design Pro入门学习&项目实践笔记(三)

    前言:前一篇记录了[后台管理系统]目前进展开发中遇到的一些应用点,这一篇会梳理一些自己学习Ant Design Pro源码的功能点.附:Ant Design Pro 在线预览地址. Dashboard ...

随机推荐

  1. 尝试用Gearman实现分布式处理(PHP)[转]

    本文需要你已对Gearman有个大致了解. 顺便再推荐两篇参考文章http://hi.baidu.com/thinkinginlamp/blog/item/ff49972b9e7378f3e6cd40 ...

  2. 实用在线小工具 -- JS代码压缩工具

        实用在线小工具 -- JS代码压缩工具 将JS代码进行压缩可以减少内存占用,下面链接是一个在线JS代码压缩工具,它将多余的空格和换行符压缩了. JS代码压缩工具链接:http://jspack ...

  3. yii/helper/Html

    1.生成标签: <?=Html::tag('标签',‘标签中的内容’,[‘标签属性’])?> 举例: <?=Html::tag('p','HelloWorld',['id'=> ...

  4. Java class 中public、protected 、friendly、private的区别

    转载自:http://hi.baidu.com/ceoct/item/7e136a2417ba6f896f2cc33c Java class 中public.protected .friendly.p ...

  5. TPS5410/TPS5430 开关电源稳压器(DC-DC)

  6. [制作实践]一种基于LM2576的多功能开关电源设计

    http://bbs.kechuang.org/read-kc-tid-9837-page-e.html 摘要:本文介绍了一种性价比高.功能丰富的程控开关电源的设计,对基于LM2576控制核心的升.降 ...

  7. C# 中的回车换行符

    在 C# 中,我们用字符串 "\r\n" 表示回车换行符. string str = "第一行\r\n第二行"; 但是我们更推荐 Environment.New ...

  8. gdb -Mysql源代码级调试方法

    http://blog.csdn.net/hitzhang/article/details/5985474 gdb -q --batch --ex "set height 0" - ...

  9. 【资料】wod属性

    各个属性的影响力量 st 影响近战远程伤害和体力体质 co 影响体力(比力量的影响大)智力 in 影响法力和魔法防御灵巧 dx 影响近战远程命中和近战躲闪魅力 ch 影响诅咒和治愈能力,诅咒攻击命中和 ...

  10. Appium+python自动化22-Appium Desktop

    Appium Desktop 原滋原味的官方文档 Appium Desktop是一款用于Mac.Windows和Linux的开源应用,它提供了Appium自动化服务器在一个漂亮灵活的UI中的强大功能. ...