首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Xiaobo2020
掘友等级
FE
就是个小工
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
18
文章 15
沸点 3
赞
18
返回
|
搜索文章
最新
热门
EventEmitter实现
事件监听在开发过程中被广泛应用,如 Vue 中常用的 vm.$on 和 vm.$emit 就是自己实现了一套事件监听逻辑挂载到了 Vue 原型上。 实现核心在于维护和使用一个全局的事件对象(_events),在上面注册、移除、遍历触发各个事件对应的响应函数。 事件的监听与触发可…
快速排序 Quick Sort
以给定值为基准将数组进行分区,左侧区域全都小于等于基准值,右侧区域全都大于基准值。
Redux Thunk源码解读
首先需要明确的一点是,redux-thunk是一个中间件,需要配合redux提供的applyMiddleware一起使用,主要是将常规的对象类型的action扩展为可接受函数类型的action。它可以让原本只支持同步方式的redux扩展为支持异步的方式,这就是它的强大之处,但是…
Redux源码(六) —— createStore.js
由于createStore内部比较大,所以这里我将一些内部定义的函数拎出单独描述作用,对于其他的部分可参考中文注释内容。最后的英文注释也很好的描述了在创建store之后通过dispatch一次名字叫作INIT的action来进行整个store的内部state初始化。总结一下非函…
Redux源码(五) —— combineReducers.js
combineReducers接受一个reducers对象,并返回一个combination统一处理dispatch触发的action操作。在combineReducers中会进行过滤无效reducer、处理reducer返回undefined无效结果等情况,最终得到一个包含了…
Redux源码(四) —— bindActionCreators.js
每当我们想添加一个todo的时候只需要调用addTodo并传入名字就行了,但是redux的运行不仅仅止步于此,更关键的是将产生的这个action给触发,也就是dispatch,所以,bindActionCreators就是更进一步,不仅仅是产生action,还实现自动dispa…
Redux源码(三) —— applyMiddleware.js
在详细分析applyMiddleware源码之前,我们需要知道的是,中间件middleware的功能是对redux提供的dispatch进行一些扩展,或者说是增强,比如说最常见的logger中间件,它的任务就是在dispatch的过程中顺带着实现一下打印日志的任务,那么这样看来…
Redux源码(二) —— compose.js
需要说明的是,compose函数的存在其实是服务于中间件的,即当我们使用applyMiddleware实现功能增强的背后,其实就是利用了compose函数将这多个增强函数进行合理的组合。 首先,compose函数利用了es6的rest参数,将多个类型为函数的参数收集到一个叫作f…
Redux源码(一) —— index.js
现在都9012了,还谈redux源码,是不是太晚了?回答是,但又不是,毕竟不写出来只会是更晚。 actionTypes.js保存了redux中的一些私有action类型,根据名称也很好理解,这里就不过多赘述了。 isPlainObject.js用于判断是否是一个简单对象,这里简…
个人成就
文章被点赞
14
文章被阅读
6,189
掘力值
134
关注了
40
关注者
2
收藏集
3
关注标签
107
加入于
2017-06-07