React Hooks 解析(上):基础

2019-04-19
阅读 6 分钟
23.9k
React Hooks 是从 v16.8 引入的又一开创性的新特性。第一次了解这项特性的时候,真的有一种豁然开朗,发现新大陆的感觉。我深深的为 React 团队天马行空的创造力和精益求精的钻研精神所折服。本文除了介绍具体的用法外,还会分析背后的逻辑和使用时候的注意事项,力求做到知其然也知其所以然。

Next.js 入门

2019-04-16
阅读 6 分钟
30.4k
当使用 React 开发系统的时候,常常需要配置很多繁琐的参数,如 Webpack 配置、Router 配置和服务器配置等。如果需要做 SEO,要考虑的事情就更多了,怎么让服务端渲染和客户端渲染保持一致是一件很麻烦的事情,需要引入很多第三方库。针对这些问题,Next.js提供了一个很好的解决方案,使开发人员可以将精力放在业务上,...

哈希摘要算法

2019-04-11
阅读 7 分钟
5.2k
最近在看一些NPM库的时候总是看到各种哈希签名算法,之前工作中也有用到过签名算法,但并没有深入理解过其中的原理,于是找了点资料稍微了解了一下,总结了这篇文章。

区块链笔记(1)基础概念扫盲

2019-04-06
阅读 7 分钟
6.7k
区块链技术,最早是在金融交易领域破土发芽的,但在这之前,金融交易系统已经大体正常运作了许多年。所谓变革的新技术,必定对既有领域中一些核心理念发起了冲击,并提出了自己的解决方案。只在一个行业领域的“兴风作浪”,充其量只能算作改进,若说成是变革,那么这项技术的思想及提供的解决方案,必定能跨越多个行业领...

前端权限控制

2019-04-03
阅读 3 分钟
7.9k
在成熟的电商系统中,权限管理是不可或缺的一个环节。灵活的权限管理有助于管理员对不同的人员分配不同的权限,在满足业务需要的同时保证敏感数据只对有权限的人开放。笔者最近对系统的权限管理做了一次改造,在此分享一些经验以供参考。

React中禁止页面滚动

2019-03-21
阅读 2 分钟
15.1k
最近用react做了一个H5端的页面,主要实现了一个弹层滑动选择的功能,效果如图:遇到了一个问题,当在底部弹出层进行滚动选择城市区划时,蒙版后的页面也会随着滚动。

函数式编程(一)

2019-03-15
阅读 2 分钟
2k
什么是函数式编程 函数式编程是一种编程范式,常见的编程范式有以下三种: 命令式编程 声明式编程 函数式编程 函数式编程的本质是将计算描述为一种表达式求值。在函数式编程中,函数作为一等公民,可以在任何地方定义(在函数内或函数外),可以作为函数的参数和返回值,可以对函数进行组合。 函数式编程的准则:不依赖...

React Fiber 原理介绍

2019-02-22
阅读 3 分钟
67.3k
在 React Fiber 架构面世一年多后,最近 React 又发布了最新版 16.8.0,又一激动人心的特性:React Hooks 正式上线,让我升级 React 的意愿越来越强烈了。在升级之前,不妨回到原点,了解下人才济济的 React 团队为什么要大费周章,重写 React 架构,而 Fiber 又是个什么概念。

项目管理培训总结

2019-02-13
阅读 3 分钟
4.1k
年前公司组织了一次项目管理培训,激活了几年前考 PMP 的一些回忆。结合这两年来项目管理的实战经验,又有很多新的体会,这就是所谓的温故知新吧。学习过程中的一些想法总结成这篇文章,等有了新的感悟再继续扩展。

React 最佳实践

2019-02-08
阅读 5 分钟
13.1k
在日常开发和 Code Review 的时候,常常会发现一些共性的问题,也有很多值得提倡的做法。本文针对 React 技术栈,总结了一些最佳实践,对编写高质量的代码有一定的参考作用。

装饰器与元数据反射(4)元数据反射

2019-02-02
阅读 3 分钟
4.3k
本篇内容包括如下部分: 为什么JavaScript中需要反射 元数据反射API 基本类型序列化 复杂类型序列化 为什么JavaScript中需要反射? 关于反射的概念,摘自百度百科 在计算机科学领域,反射是指一类应用,它们能够自描述和自控制。也就是说,这类应用通过采用某种机制来实现对自己行为的描述(self-representation)和监测...

装饰器与元数据反射(3)参数装饰器

2019-02-02
阅读 3 分钟
1.6k
之前已经分别介绍了方法装饰器、属性装饰器和类装饰器,这篇文章我们来继续关注这些话题: 参数装饰器 装饰器工厂 我们将围绕以下这个例子,来探讨这些概念: {代码...} 参数装饰器 TypeScript对于参数装饰器的声明如下 {代码...} 如下我们为类Person的saySomething方法的参数添加一个参数装饰器 {代码...} 最终被编译为...

装饰器与元数据反射(2)属与类性装饰器

2019-02-02
阅读 4 分钟
1.9k
上一篇文章中,我们讨论了TypeScript源码中关于方法装饰器的实现,搞明白了如下几个问题: 装饰器函数是如何被调用的? 装饰器函数参数是如何传入的? __decorate函数干了些什么事情? 接下来我们继续属性装饰器的观察。 属性装饰器 属性装饰器的声明标识如下: {代码...} 如下我们为一个类的属性添加了一个名为@logProp...

装饰器与元数据反射(1)方法装饰器

2019-02-01
阅读 4 分钟
3.9k
首先来根据上面的标识,实现一个名为log的方法装饰器。使用装饰器的方法很简单:在装饰器名前加@字符,写在想要装饰的方法上,类似写注释的方式:

浏览器自动化操作标准--WebDriver

2019-01-10
阅读 2 分钟
8k
WebDriver是一个浏览器远程控制协议,是一个既定标准,它本身的内容非常丰富,本文不可能全部介绍,本文仅粗略带大家了解一下WebDriver的部分内容以及一个小的实际应用。想深入了解的请参考W3C文档WebDriver.

深入理解Flex布局 -- flex-grow & flex-shrink & flex-basis

2019-01-09
阅读 4 分钟
5.8k
最近在项目里遇到了一个 Flex 布局的问题,才发现自己对它的理解还是停留在浅显的水平,遇到一些特殊情况就不知道如何处理。于是找了些资料深入学习一下,然后将我的学习心得总结成这篇文章。

React Fiber知识点学习笔记

2019-01-06
阅读 9 分钟
3.2k
本文是对React Fiber知识点的学习记录,网上有很多大佬对React Fiber的详细讲解,想要深入了解React Fiber的可以查看文章后面的引用。

VS Code插件开发介绍(二)

2018-12-27
阅读 2 分钟
12.5k
在上一篇文章里,我简要介绍了 VSCode 插件开发的基本流程,同时讲解了如何获取文件夹绝对路径和用户输入的方法。最近又开发了一个新的插件,主要用途是替换当前编辑文件的内容。google 了一圈,发现介绍这方面的文章很少,特此记录一下,希望对有类似需求的人有一些帮助。

React 16 升级总结

2018-12-27
阅读 2 分钟
14.5k
目前 React 最新的版本是 16.7.0,基于全新的 React Fiber 架构,有众多激动人心的新功能。由于是大版本升级,考虑到业务的稳定性,我们团队大概等了一年的时间,终于鼓起勇气着手升级的事情,特以此文来记录升级过程中遇到的坑。

node核心模块-Buffer

2018-12-19
阅读 2 分钟
1.8k
Buffer 类是一个全局变量。Buffer 类的实例类似于整数数组,但 Buffer 的大小是固定的、且不与 V8 共用内存。 Buffer 的大小在创建时确定,且无法改变。

优雅的在React组件中注册事件

2018-12-12
阅读 3 分钟
4.5k
在React的开发中,我们经常需要在 window 上注册一些事件, 比如按下 Esc 关闭弹窗, 按上下键选中列表内容等等。比较常见的操作是在组件 mount 的时候去 window 上监听一个事件, 在组件 unmount 的时候停止监听事件。下面给大家介绍几个骚操作。

手把手教你写一个滑动条组件

2018-12-12
阅读 8 分钟
7.2k
在写组件的第一步,我们先做一个组件的拆分,思考一下一个滑动条锁必备的基本要素是什么。从图上我们可以看出,一个滑动条分为左右两个部分:左边一个 Range 组件,右边是一个 input输入框。Range组件又可以细分为 Container 组件(整体长度)和 Track 组件(进度条部分,在 Container 组件内部,children 传进去)还有...

前端性能优化之图片优化

2018-12-07
阅读 5 分钟
5.9k
对于网页来说,在所下载的字节数中,图片往往会占很大比例。因此,优化图片通常可以卓有成效地减少字节数和改进性能:浏览器需要下载的字节数越少,对客户端带宽的争用就越少,浏览器下载内容并在屏幕上呈现内容的速度就越快。

Redux and Router

2018-12-07
阅读 8 分钟
5.6k
并且,如果路由有参数改变(很多时候页面状态的参数会在路由中体现),这段代码是无法检测的,还需要在componentWillReceiveProps里去处理逻辑。

Immutable

2018-12-07
阅读 3 分钟
17.4k
说immutable之前,首先看下什么是mutable。js在原生创建数据类型即是mutable,可变的。const只是浅层次的防篡改,层级一深就没辙了。

CSS之FFC/GFC

2018-12-05
阅读 3 分钟
4.6k
FFC的布局规则与在CSS中有详细定义,关于FFC是如何布局的,看阮一峰的这篇文章即可: [链接]在这篇文章之外额外需要注意的是:FFC布局中,float、clear、vertical-align属性不会生效。

CSS之IFC

2018-12-05
阅读 2 分钟
8k
IFC Inline Formatting Contexts,也就是“内联格式化上下文”。 符合以下任一条件即会生成一个IFC 块级元素中仅包含内联级别元素 形成条件非常简单,需要注意的是当IFC中有块级元素插入时,会产生两个匿名块将父元素分割开来,产生两个IFC,这里不做过多介绍。 IFC布局规则 子元素水平方向横向排列,并且垂直方向起点为元...

CSS之BFC

2018-12-04
阅读 3 分钟
1.7k
对于很多初学者来说,CSS是不讲“道理”的,但是如果去深究,会发现其实CSS是有一定道理的。比如说最常见的块级元素、内联元素、文档模型、层叠样式模型、盒子模型CSS等,但还有一种FC规范经常会被排除在CSS规范的认知之外。

react+graphql起手和特性介绍(三)

2018-12-02
阅读 8 分钟
2.6k
紧接上篇react+graphql起手和特性介绍(二),介绍完graphql与koa的服务搭建和graphql的一些常用特性,接下来我们介绍下在react中如何使用graphql我们使用create-react-app创建react应用:

react+graphql起手和特性介绍(二)

2018-12-02
阅读 7 分钟
3.5k
紧接第一篇文章,react+graphql起手和特性介绍(一),我们接下来实现resolver,和自定义请求上下文,来完成创建用户,发帖,查看所有帖子的功能首先,我们进行自定义请求上下文,来模拟数据库和会话,保存我们的用户数据,帖子数据,登录状态。在server目录下创建context.js文件。