react

react使用fetch封装请求的方法-简单易懂

╄→尐↘猪︶ㄣ 提交于 2020-08-14 23:01:46
方法有很多种,这里贴一个比较优雅又简单易懂的。用class类写法,new一个实例方法。 其中qs是包,类似于url拼接的方法,自行npm安装。我这里fetch使用的是dva的fetch,也可以自行使用自带的fetch , 把 const fetch = require('dva').fetch; 注释既可。 /** * 请求方法 */ import qs from 'qs'; import { message } from 'antd'; const fetch = require('dva').fetch; const { stringify, parse } = qs; const checkStatus = res => { if (200 >= res.status < 300) { return res; } message.error(`网络请求失败,${res.status}`); const error = new Error(res.statusText); error.response = response; throw error; }; /** * 捕获成功登录过期状态码等 * @param res * @returns {*} */ const judgeOkState = async res => { const cloneRes = await res

学习前端的未来在哪里?今天详细的谈一下

大憨熊 提交于 2020-08-14 22:59:05
以下我说的都是个人观点,比较宏观粗浅,主要针对的是前端工程师本身,没有深入技术和业务细节,请谨慎参考。 职能概览 前端工程师首先是个程序员,其次也是个软件工程师,他们工作在离用户最近的地方,负责人机交互和用户体验,虽然叫“前端”,但其实他们的工作边界其实已经很宽了。 展望未来,我想前端的工作会继续分化,也会继续融合,分工是工业革命以来社会高效协作的主要推动力,以后很长一段时间应该也会维持这种形态,融合的原始推动力也是提高效率。分化和融合是不断的演化和互吸收转化的,不过核心的东西我想还是不会有太大变化。 观点 1.继续分化(领域、行业、技术栈) 2.继续融合(端技术、Web全栈技术、人工智能与端技术) 3.核心不变(计算机科学本质、软件工程思想与实践、程序员职业素养) 1. 继续分化 领域 前端领域会继续分化,例如阿里内部的前端就已经有中后台、图形、端技术、泛Node、开发者服务5个大方向了,每个大方向也会细分,举一些例子: 中后台:有云控制台、信息&资产管理平台、内部研发&项目管理平台、人工智能&机器学习平台、数据研发分析平台,企业内部信息平台等。具体产品如阿里云控制台、ERP、PAI、DeepInsight、阿里内外、Basecamp等。 图形:有基础图形库、3D图形、数据可视化、流程图等。具体产品如G2、DataV、阿里云城市大脑、滴滴智能交通调度图、双十一大屏等。 端技术

不要盲目跟着 JavaScript 的趋势走

筅森魡賤 提交于 2020-08-14 21:12:52
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 有一天,你在浏览器里输入了 twitter.com ,然后看到了某人发的一条关于如何使用 React Hooks 的新消息。但是,由于某些原因,你的公司或团队并没有转而使用 Hooks。或者,也许你正在使用它们,但不是以一种新的“符合潮流”的方式。也许你正在使用 Vue.js 或者 Angular,但是 React Hooks 无处不在。 这一天,你开始质疑你代码库中的内容是否正确?你是否应该用你刚刚读到的内容来重构那部分逻辑?得出答案后,你开始想象它在自己的代码中会是什么样子。 现在,你突然有了使用它的冲动。你告知团队负责人,或者向整个团队发送消息介绍这个又酷又新潮的方法,然后提出你要开始使用它。 重写代码 不久前, @ThePracticalDev 的 Twitter 账户上出现了一本假想著作的封面。早在 2016 年,取笑多变的 JavaScript 世界就是一种时尚,虽然方式与今天有所不同。 嘘,我发明了时间机器(不要告诉任何人)!让我们闪回到 2016 年。嗖的一声!我们到了。JavaScript 生态圈看起来是这样的: 如果你正在使用 JavaScript 框架或是想要使用一个框架,你可能会选择 Angular.js。但是,你很快就会看到这样的消息:Angular

JsPlumb在react的使用方法及介绍

隐身守侯 提交于 2020-08-14 20:36:23
JsPlumb 在 react 的使用方法及介绍 一.相关资料来源: 1. https://bitqiang.gitbooks.io/jsplumb/content/Chapter1_IMPORTS_AND_SETUP/ ——— 一个翻译一半就不能打开的文档 2. https://github.com/wangduanduan/jsplumb-chinese-tutorial ——— 一个事件方法很全的网站(推荐) 3 . https://wdd.js.org/jsplumb-chinese-tutorial/#/ ——— 一个事件方法很全的网站(同上) 4. https://www.cnblogs.com/Bryran/p/3950122.html ————— jq ui 拖动 二. 引用库: 版本: 2.13.3 库: https://github.com/jsplumb/jsplumb 链接: https://pan.baidu.com/s/1EvftCI5gXRvoL6pNRenSpQ 提取码: z2t4 React vue : npm i jsplumb 注意:低版本需要引用 jq 以及 jq-ui ,此版本不需要 三. 在 React 使用方法: 在我的 react 项目中,分菜单栏和画布,菜单栏是可拖动子菜单,将菜单拖到画布上,在画布上进行对子菜单项目的操作

js基石之---es7的decorator修饰器

醉酒当歌 提交于 2020-08-14 18:24:33
es7的decorator修饰器 装饰器(Decorator)是一种与类(class)相关的语法,用来注释或修改类和类方法。 decorator就是给类添加或修改类的变量与方法的。 装饰器是一种函数,写成 @ + 函数名 。它可以放在类和类方法的定义前面。 例 @frozen class Foo { @configurable(false) @enumerable(true) method() {} @throttle(500) expensiveMethod() {} } 上面代码一共使用了四个装饰器,一个用在类本身,另外三个用在类方法。它们不仅增加了代码的可读性,清晰地表达了意图,而且提供一种方便的手段,增加或修改类的功能。 1.修改类 @addType class human{} function addType(target){ target.age =27 ; target.name = hyh; target.sex = male; target.hight =178 ; console.log( '此对象被修改了' ) } console.log( new human()) 上面代码中, @addType 就是一个装饰器。它修改了 human 这个类的行为,为它加上了静态属性age name sex hight等等。 addType 函数的参数 target

web前端三大框架的相同之处、优缺点

◇◆丶佛笑我妖孽 提交于 2020-08-14 16:13:17
* React与Vue 相同点 1、使用 Virtual DOM,有较高的运行速度 2、提供组件化功能 3、可使用mobx与vuex进行状态管理,响应式、依赖追踪 React 1、子组件重复渲染问题需要手动优化 2、可以使用redux进行状态管理,函数式、不可变、模式化,时间旅行 3、可使用JSX,完全的javascript能力 优点 :引入了一个叫做虚拟DOM的概念,运行速度快;提供了标准化的API,解决了跨浏览器问题、兼容性更好;代码更加模块化,重用代码更容易,可维护性高。 缺点 :React是目标是UI组件,通常可以和其它框架组合使用,并不适合单独做一个完整的框架 Vue 1、可使用JSX,但推荐使用模版语言而不是JSX 2、学习曲线平缓 优点 :渐进式构建能力是Vue.js最大的优势,Vue有一个简洁而且合理的架构,使得它易于理解和构建。Vue有一个强大的充满激情人群的社区,这为Vue.js增加了巨大的价值,使得为一个空白项目创建一个综合的解决方案变得十分容易。 缺点 :在模型-视图应用程序和状态容器类型的应用程序之间的互相转换可能会令人感到困惑;它类似于Web组件的模式,而不是真正的Web组件。 Angular 特点 1、完善的MV*框架,包含模板,数据双向绑定,路由,模块化,服务,过滤器,依赖注入等所有功能 2、Typescript 脏检查,对脏数据的检查就是脏检查

快速成长为web前端大牛?听听过来人的经验!

筅森魡賤 提交于 2020-08-14 13:19:24
我也曾以为成为一个技术大牛的唯一途径是玩命地学习与工作,这个想法差点毁了我。后来我开始反思,发现自己的时间安排极为不合理,并逐渐悟出了下面这5个道理,这才让自己从那种高压状态中解脱出来。 一、不要因为怕自己落伍而去学习新东西 一个优秀的开发者始终在学习,这一点毋庸置疑。诚然,旧的技术终会被淘汰。但是新的技术终有一天会变成旧的。因此,没有必要一味地去追求最新的技术。 平均每37秒就会诞生一个新的标准或框架,你不可能把它们都学会。很多新技术、框架或者新特性对你来说都不是必需的,你没必要非得了解它们。真正有价值的技术需要经过社区和市场一段时间的打磨才能出现。 IT公司通常都会重点培养适合于自己的技术,没有哪个公司会一拍脑门让自己的代码去适配某个全新的框架。因此你也不用太担心因为某些新技术而被裁员。你需要关注的是这三类知识,按照优先级排列如下: (1)基础是重中之重。 当你掌握一门基础知识后,你可以快速掌握其相关的技术。比如如果你非常熟悉JavaScript,那么基于JavaScript的任何框架都难不倒你。如果你掌握了面向对象编程,那么你可以快速掌握一门新的面向对象的语言。深入学习基础能够大幅提高你的学习效率。 (2)你常用技术的最新版本。 你平常用得最多的技术才是你的铁饭碗。如果它们出了新的版本,那么你有必要花时间去学习一下。 (3)大公司推崇的技术。 如果一个非常知名的公司(如谷歌

如何拿到阿里P8 Offer-候选人视角谈面试

烈酒焚心 提交于 2020-08-14 10:56:23
自我介绍 首先简单自我介绍一下,我叫陈映平,花名叫做小卡,2011年校招进入腾讯,是腾讯课堂B侧的前端技术负责人。2015年响应总理的号召,跟朋友一起出来创业,跟前面一位讲师的经历有点像,然后2018年回到腾讯,主要负责NOW直播相关的业务,包括NOW商业化、NOW独立版等。 今年的三月底,因为家庭的原因来到了杭州,加入了阿里巴巴CBU技术部-前端体验技术团队,职级是P8,目前负责的主要是内容跟营销方向,包括采源宝、淘卖,以及现在风口上的业务,1688电商直播。 接下来分享一下我是如何拿到阿里P8的offer,以及面试过程中的一些思考。分享主要会分为几个部分。 第一个是整体的面试流程,以及面试过程中的一些内容。 第二个是面试过程中所做的一些准备。 第三个是针对面试过程的一些建议。 第四个是作为前端在进阶路上的一些修炼以及思考。 面试流程 首先我们来看一下面试流程,以及面试过程中可能问到的一些问题。 这里大概列了一下我当时去面试阿里巴巴的流程,一共分为五面。一面是我的直属主管,二面是前端团队的负责人,三面是部门的总经理,四面是跨部门交叉面试,最后一面是部门的HR负责人。 整体的面试流程其实跟前面几位讲师讲到的差不多,里面有一点小小的区别。 第一,就是面试官的层级必须要高于候选人的预估层级,因此从一面开始,所有的面试官都必须是P8或以上。 第二,终面面试官的层级必须大于候选人两级以上

Vue 组件注册方式

橙三吉。 提交于 2020-08-14 09:15:52
写在前面 无论是 Vue 还是 React,都有组件的概念。组件,顾名思义就是能和别人组合在一起的物件。在前端页面开发过程中,将一个页面划分成一个个小的模块,每个模块单独定义,每个模块就是一个组件。组件还可以进行复用,A 页面和 B 页面有一个相似的模块,可以抽离成一个可局部修改的组件。 组件化的概念让前端页面开发有了更清晰的结构。 Vue 中的组件就是一个 Vue 的实例对象。因此,Vue 组件的构造选项和 new Vue() 方法构造 Vue 实例的构造选项是一样的,其可接收的构造选项都是一样的。除了 el 这样 根实例 特有的选项。但是,Vue 组件必须得是可以复用的,因此,就必须要求构造选项中的 data 选项必须是一个函数,该函数返回一个对象。 为什么 data 选项是个返回对象的函数就可以保证组件的可复用性呢? 因为无论是 new Vue() 的方式还是定义 Vue组件 的方式创建一个 Vue 实例,其执行的操作都是将构造选项中的各属性值直接赋值给新创建的 Vue 实例对象。组件复用就是 Vue 使用 相同的构造选项 构造出多个同名不同地址的 Vue 实例对象。如果 Vue 组件定义时的构造选项中的 data 选项是一个对象,那么在组件复用时,多个组件就会共用一个 data 数据对象,因为是直接将 data 对象的地址赋值给组件的 Vue 实例的。但如果组件定义时的

VCL分析工具DevExpress VCL 6月全新发布v20.1.2

那年仲夏 提交于 2020-08-14 08:50:08
DevExtreme 拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序。从Angular和Reac,到ASP.NET Core或Vue,DevExtreme包含全面的高性能和响应式UI小部件集合,可在传统Web和下一代移动应用程序中使用。 该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。 DevExpress VCL v20.1.2完整版下载 具体更新内容如下: 【 DevExpress VCL v20.1.2下载 】 此列表包括v20.1.2中引入的所有重大更改。 ExpressEditors Library API T861507 - cxFileTimeToDateTime函数从cxShellCommon单元移至dxCore ExpressEntityMapping Framework API T891988 - cxGridEMFData单元已重命名为cxEMFData ExpressPDFViewer UI T867366 - TdxSpreadSheetPasswordDialogForm