小敏哥的专栏

Write the Code. Change the world.

React中setState的怪异行为 ——setState没有即时生效

setState可以说是React中使用频率最高的一个函数了,我们都知道,React是通过管理状态来实现对组件的管理的,当this.setState()被调用的时候,React会重新调用render方法来重新渲染UI 但实际使用的时候,我们会发现,有时候我们setState之后,并没有立刻生效,...

2019-01-12 14:41:45

阅读数 217

评论数 0

React事务机制解析

对react有一定了解的开发人员应该都听说过react的事务机制,这个机制几乎贯穿于react所有提供的方法,包括react中最常使用的setState函数 那么,react的事务机制到底是一种什么样的机制呢,为了解释事务机制的实现原理,react源码中用注释画出了这样一幅图 根据这幅图,...

2019-01-11 23:20:19

阅读数 14667

评论数 1

react生命周期原理解析

这篇文章是对之前的一片文章react生命周期整理提到的生命周期的解析,本文会从源码的角度,对react的各个生命周期的实现原理进行不太详细的分析 getDefaultProps与getInitialState 首先我们来看一下以下两个代码片段,第一个是用es5创建组件的方法,需要调用react...

2019-01-06 22:24:18

阅读数 773

评论数 0

zepto源码分析之form表单处理

本篇是zepto源码分析系列第二篇,这里依旧有一份包含详细中文注释的zepto源代码,有需要的可以下载下来学习,觉得有帮助的话戳一颗星那就更好了 本篇会解析zepto源码中的form表单处理部分,这部分相对来说比较简单,仅包含三个方法:serialize,serializeArray,submi...

2018-08-19 16:20:53

阅读数 289

评论数 0

zepto源码分析之ajax

首先,放github链接,这里有一份包含详细中文注释的zepto源代码,有需要的可以下载下来学习,觉得有帮助的话戳一颗星那就更好了 这篇博文会先解析ajax实现的部分,zepto对于ajax的实现包含两个部分,普通的xhr请求和jsonp请求,对外暴露了以下几个方法: $.ajax,$.aja...

2018-08-14 22:16:42

阅读数 183

评论数 0

https加密机制解析

https是目前最流行运用最广泛的安全http形式,早年由netscape首创,目前所有的浏览器均支持此技术,这篇博文主要简单的解析https的加密机制 从下图可以了看出,https和http最主要的区别在于,https比http多了一层加密层SSL/TLS,接下来会简单解释https相关的加密...

2018-07-25 23:06:44

阅读数 438

评论数 0

js如何判断当前文本的输入状态——中文输入法的那些坑

相信各位在平时接需求的时候肯定会遇到这样的一些需求,例如,要求输入框限制输入长度,限制输入类型,限制只能英文输入,限制只能输入大写字母等等,这时候我们一般的思路无非两种,一种是弹出特定的键盘,第二种是在输入的过程中对输入内容进行正则匹配,然后根据自己的需求对input框进行赋值。弹出特定键盘可以通...

2018-07-09 22:44:43

阅读数 2599

评论数 0

拦截浏览器后退的两种方式

在平时开发的过程中,经常会遇到类似这样的需求:用户点击后退时,弹出提示框提示用户是否退出,或者需要阻止用户后退,用户点击后退之后重定向到其他页面,这一类的需求,都需要我们能够在用户点击后退时捕获到相应的事件并进行拦截。 以下是两种拦截方式的总结: 1:利用popstate事件和pushStat...

2018-06-23 09:27:29

阅读数 3636

评论数 0

浏览器缓存机制分析及前端缓存清理

本文主题:理清浏览器的缓存机制的内部逻辑,并给出避免浏览器缓存的相关解决方案相信很多新手前端发布页面的时候都会遇到一个问题,就是明明页面已经更新了,但是浏览器浏览页面并没有变化,那么如何解决这个问题呢?事实上,这个问题各种搜索引擎搜索之后会发现有很多的方案,但不一定有效,一般的解决方案有以下的两种...

2018-06-03 16:56:33

阅读数 2484

评论数 0

FastClick源码分析

玩过移动端web开发的同学应该都了解过,移动端上的click事件都会有300毫秒的延迟,这300毫秒主要是浏览器为了判断你当前的点击时单击还是双击,但有时候为了更快的对用户的操作做出更快的响应,越过这个300毫秒的延迟是有点必要的,faskclick做的就是这件事,这篇文章会理清faskclick...

2018-06-03 11:12:28

阅读数 528

评论数 0

React中key属性的作用及原理解析

Warning: Each child in an array or iterator should have a unique "key" prop. Check the render method of `Test`. See https://fb.me/r...

2019-01-20 14:58:10

阅读数 120

评论数 0

react生命周期整理

react中的生命周期可以分为四大类,分别为定义时触发,渲染时触发,更新时触发以及卸载时触发。本文章会对所有生命周期进行归纳并从源码的角度解析其实现原理(写到一半发现文章已经有点长了,决定新开一片文章来解析实现原理,传送门) 定义时触发(createClass) getDefaultProps...

2019-01-06 15:28:34

阅读数 139

评论数 0

React的跨级组件通信

我们知道,react中父子组件之间的通信,父组件和子组件通信,可以通过props向子组件传递参数,子组件和父组件通信,则可以通过调用props传入的回调函数来向父组件传递参数 那么问题来了,如果是跨级组件之间的通信,如果通过props一层一层往下传,不仅逻辑会变得很不清晰,代码也会变得不好维护,...

2018-12-28 23:08:52

阅读数 127

评论数 0

javascript绑定this的几种方法

首先 ,理清一下js中的this,js中的this对象指向调用当前方法的对象,这个指向是在执行的时候才确定下来的,跟函数在何时何处声明是无关的。 但是,在实际使用过程中,我们经常会遇到要改变当前this指向的需求,一下的对绑定this方法的归纳 1、call和apply 这里把call和ap...

2018-11-28 17:20:52

阅读数 68

评论数 0

css文字换行总结

web前端布局中有时候在有限的空间中会出现很长的文字,由于对布局的要求有时候我们需要改变默认的换行方式,以自定义的方式控制换行,以下是使用css控制换行的相关总结 1、overflow-wrap,word-wrap  这两个属性效果其实是一样的,word-wrap是早期微软定义的属性,over...

2018-10-06 22:28:38

阅读数 66

评论数 0

如何防止页面被调试

由于web前端项目的特殊性,所有的前端代码基本上是开源的,这就意味着,访问者可以无条件的查看所有的代码,甚至进行调试,弄清项目的业务逻辑,这样,漏洞挖掘者就可以很方便的找出网站的漏洞进行攻击。 出于安全的目的,前端会对代码进行各种压缩打包,混淆等,增加阅读代码的难度,但对于调试,似乎很多人并没有...

2018-08-26 16:54:51

阅读数 467

评论数 0

关于类库的模块化实现

相信很多人都有过自己写个类库的想法,对于一个类库,如何模块化是首先需要考虑的问题,目前js有多种模块化的规范,常见的有CMD,AMD以及ES6自身实现的模块化方案,前两种是社区早期指定的规范,最后一种则是w3c的规范,那么如何让我们自己编写的代码能兼容到这么多种规范呢,或者说,知名的类库都是怎么实...

2018-05-20 22:13:29

阅读数 93

评论数 0

undercore中链式操作的实现

首先,大致说一下什么事链式操作,链式操作是利用运算符进行的连续运算(操作),它的特点是在一条语句中出现两个或者两个以上相同的操作符,用过jquery的同学大概都知道,jquery中支持下面这种写法$('test').test1().test2(),这种类型的操作就是典型的链式操作,他的优点是代码会...

2018-05-20 21:32:21

阅读数 90

评论数 0

移动web调试之weinre

移动web真机调试神器——weinre

2016-11-07 22:56:12

阅读数 364

评论数 0

js+css3实现一个环形进度条插件

进度条用多了,有没有想过环形的呢,例如这样子的 说实在的,虽然css3提供了很强大的动画功能,包括各种旋转,直线运动,然而,并没有曲线运动,那么只好综合运用已有的功能进行实现,这里用到的比较多的就是旋转,先看下面的这几段代码,这是网上一个哥们写的,先用来理解一下实现的原理,虽然有一堆的兼容性问题...

2016-06-09 18:23:14

阅读数 4328

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭