理解响应式编程

2020-03-12
阅读 2 分钟
2.5k
在学习 RxJS 的过程中,我发现很多概念晦涩难懂,比如:响应式编程、观察者模式、各种各样的操作符以及多播等等。理解这些概念通常会花费大量时间,而且很难将它们吃透。于是我就写了一个关于「大学生创业」的小故事,以帮助大家理解 RxJS 的核心概念。

基于 RBAC 的前端权限控制

2019-12-26
阅读 5 分钟
2.8k
当我们讨论到前端应用的权限控制时,不是在讨论如何去控制权限,而是在讨论如何将用户权限反映到页面元素的显隐上。如果用户没有权限访问请求,不仅会造成请求资源的浪费,还会降低用户体验。前端的权限控制就是为了解决这类问题。

搭建前后端之桥

2019-12-17
阅读 3 分钟
1.9k
随着前后端分离,开发的门槛降低了,我们不再要求团队中的每个开发都是全栈工程师,这样更容易找到项目的合适人选。团队也划分成了前端和后端两个团队。前端负责消费 API 并展示页面,后端负责提供 API。这两个团队可以并行开发互不影响,大大提升了效率。虽然前后端分离解决了很多问题,但同时也带来了新的困扰。

基于 React 和 Redux 的 API 集成解决方案

2019-10-09
阅读 10 分钟
2.9k
在前端开发的过程中,我们可能会花不少的时间去集成 API、与 API 联调、或者解决 API 变动带来的问题。如果你也希望减轻这部分负担,提高团队的开发效率,那么这篇文章一定会对你有所帮助。

React Hooks 你真的用对了吗?

2019-10-08
阅读 15 分钟
3.6k
从 React Hooks 正式发布到现在,我一直在项目使用它。但是,在使用 Hooks 的过程中,我也进入了一些误区,导致写出来的代码隐藏 bug 并且难以维护。这篇文章中,我会具体分析这些问题,并总结一些好的实践,以供大家参考。

通过 Swagger 定义自动生成 Mock 数据

2019-09-24
阅读 5 分钟
18k
我最近的在做的项目是一个前后端分离的项目,前后端由不同的团队分别开发,并且前端的进度经常领先后端。这就意味着,当前端在开发一个新功能时,API 可能还没有准备好。不过,我们会先和后端先商议好 API Schema,然后使用 Mock 数据进行开发。

深入剖析浏览器缓存策略

2019-04-09
阅读 6 分钟
3.3k
在访问一个网页时,客户端会从服务器下载所需的资源。但是有些资源很少发生变动,例如 HTML、JS、CSS、图片、字体文件等。如果每次加载页面都从源服务器下载这些资源,不仅会增加获取资源的时间,也会给服务器带来一定压力。因此,重用已获取的资源十分重要。将请求的资源缓存下来,下次请求同一资源时,直接使用存储的...

React 测试指南

2019-01-30
阅读 12 分钟
7.3k
对于一个 Web 应用来说,理想的测试组合应该包含大量单元测试(unit tests),部分快照测试(snapshot tests),以及少量端到端测试(e2e tests)。参考测试金字塔,我们构建了前端应用的测试金字塔。

用 RxJS 实现 Redux Form

2018-12-28
阅读 9 分钟
4.4k
写在前面的话 看这篇文章之前,你需要掌握的知识: React RxJS (至少需要知道 Subject 是什么) 背景 form 可以说是 web 开发中的最大的难题之一。跟普通的组件相比,form 具有以下几个特点: 更多的用户交互。这意味着可能需要大量的自定义组件,比如 DataPicker,Upload,AutoComplete 等等。 频繁的状态改变。每当用户输...

基于 React Redux 的错误处理

2018-09-10
阅读 8 分钟
7.6k
本文主要分为以下三个部分: Error 的分类 分步骤详细讲解如何利用 Redux 统一处理 Error 错误信息的收集 本文的案例使用的技术栈包括: React,Redux,TypeScript,Axios,Lodash。 Error 的分类 HTTP 请求错误 HTTP 请求错误通常可以归为以下几类: 服务器有响应的错误 服务器有响应,表示服务器响应了,并且返回了相应的...

深入理解 SVG 系列(二) —— SVG 坐标系统

2018-07-17
阅读 7 分钟
20.4k
这一篇是讲 SVG 的坐标系统,在这之前如果你对 SVG 的基础知识还不是很了解,可以先点这里学习 深入理解 SVG 系列(一) —— SVG 基础。 网格坐标系 和很多计算机绘图所使用的坐标系统一样,SVG 也使用了网格坐标系统。这种坐标系有如下几个特点: 以左上角为坐标系的原点(0,0) X 轴的正方向向右,从 0,0 点开始向右, x ...

深入理解 SVG 系列(一) —— SVG 基础

2018-07-16
阅读 3 分钟
15.7k
SVG 全称 Scalable Vector Graphics (可缩放矢量图形)。它是一种用来描述二维矢量图形的 XML 标记语言。 本系列文章分为三个部分: 第一部分是 SVG 基础。 主要讲 SVG 的一些基础知识,包括 SVG 基本元素,画布和视窗等。 第二部分是 SVG 的坐标系统。主要会讲绘图坐标系, viewBox 以及preserveAspectRatio。 第三部分是...

JavaScript 函数式编程 -- 划重点了!!!

2018-01-07
阅读 4 分钟
3k
"一等" 这个术语通常用来描述值。所以当我们说 "函数是一等公民" 时,也就是说函数拥有值的一切特性,你可以像看待一个值一样来看待一个函数。举个例子,数字在 JavaScript 中是一等公民,那么数字拥有的特性,也同样被函数所拥有。

深入理解 form 系列(一)-- HTML 表单

2017-01-19
阅读 5 分钟
6.6k
从 HTML 到 HTML5, 表单相关的元素已经得到了很大的扩充, 基本能够满足我们常见的需求。但在实际工作中, 因为交互或者浏览器兼容的需要, 有时候不得不对原生的表单元素进行扩展或者模拟。但在此之前, 清楚的了解并掌握各种表单元素还是很重要的。在本文中, 我们将对表单元素 (默认是指 HTML5 表单元素)进行详细的阐述。

JavaScript 中的错误处理机制

2016-11-04
阅读 6 分钟
8.1k
错误处理在开发和调试过程中都显得尤为重要。有些没有进行错误处理的应用,直接就将浏览器的错误展示给了用户,极大的降低了用户体验。比如有些很 low 的网站,打开某些页面就直接弹出 "object" 这样的错误,用户看到之后一脸懵逼,心想这是什么鬼?让人感觉极其的不专业。可见错误处理对一个应用来说是多么的重要。

函数式编程之柯里化和组合详解

2016-10-31
阅读 4 分钟
7.8k
提到函数式编程,就不得不提柯里化和组合。说实话,在之前的项目开发中,对柯里化和组合的运用不是太多,因为不太清楚应该在哪些情况下应该使用它们。所以在这篇文章中,我们将详细的介绍柯里化和组合的用法以及使用场景。

深入理解 form 系列(二)-- React 表单的优化

2016-10-09
阅读 6 分钟
8.7k
在构建 web 应用的时候,为了采集用户输入,表单变成了我们不可或缺的东西。大型项目中,如果没有对表单进行很好的抽象和封装,随着表单复杂度和数量的增加,处理表单将会变成一件令人头疼的事情。在 react 里面处理表单,一开始也并不容易。所以在这篇文章中,我们会介绍一些简单的实践,让你能够在 react 里面更加轻松...