超级面板
文章目录
最新文章
最近更新
文章分类
标签列表
文章归档

createStore.js 源码阅读笔记

接口 createStore(reducer, [preloadedState], enhancer) reducer (Function): 接收 state 和 action 参数的函数,并返回新的 state。 [preloadedState(Any)]: 初始时的 state,可以使用空内容初始化,也可以使用保存在客户端或者服务端的 state 初始化。如果 reducer 是使用 combinedReducers 生成的,则state 只能是普通对象,不能是其他的特殊对象,如 immutable 对象等。 enhancer (Function): enhancer 是一个强化的。…

combineReducers.js 源码阅读笔记

The combineReducers helper function turns an object whose values are different reducing functions into a single reducing function you can pass to createStore. 接口 combineReducers(reducers) reducers (Object): reducers 是一个对象,它的值对应要混合的各个 reducer 。 return (Function): 多个独立的 reducer 合并后的最终的 finalReduce…

bindActionCreators.js 源码阅读笔记

Turns an object whose values are action creators, into an object with the same keys, but with every action creator wrapped into a dispatch call so they may be invoked directly. 接口 bindActionCreators(actionCreators, dispatch) actionCreators (Function | Object): action creator 函数,或者键值是 action crea…

compose.js 源码阅读笔记

Composes functions from right to left.. 接口 compose(…arguments) arguments (Function): 需要进行函数合成的多个函数,每个函数接收单一的参数,它的返回值将作为一个参数提供给它左边的函数调用,而最右边的函数可以接收多个参数,而它的签名将会作为组合后返回函数的签名。 return (Function): 返回把所有的参数从右向左合成的结果 函数组合组合是函数式编程的常用工具,我们在学习数学的时候会学到复合函数: f(x) = 2 * x;g(x) = x + 1;(f ∘ g)(x) = f(g(x)) = …

applyMiddleware.js 源码阅读笔记

applyMiddleware 允许使用中间件middleware增强Redex的store的 dispatch 方法,这些中间件通过组合的方式构成一条中间件的链,通过这种方式,每个中间件无需关注其他中间件的操作。 接口 applyMiddleware(…middlewares) 每个中间件 middleware 的方法签名要求为 ({ getState, dispatch }) => next => action。 applyMiddleware 的整体结构函数的源代码非常简洁只有不到20行的代码,函数的整体结构如下: function applyMidd…

文本省略显示

在开发中有一些情景下需要隐藏过多的文本,比如文章列表中文章的描述或者摘要,并加以省略号给用户提醒,在这里对常用的方法进行简单的总结: 单行文本省略单行文本省略很简单,只需三行css属性即可: <p>这里是一段用脸滚出来的文字:卡技术的恢复了开始发说说的反馈啦活动福利很好的数量咖啡还</p> p { width: 200px; white-space: nowrap; //强制文本单行显示 overflow: hidden; //溢出内容隐藏 text-overflow: ellipsis; //文本溢出内容添加省略号提醒 border: 3px …

Promise特性总结

Promise 对象代表着一个还未完成,但预期将来会完成的操作,该新特性属于 ECMAScript 2015(ES6)规范。使用 Promise 对象,可以十分方便的摆脱层层嵌套的异步操作回调函数,而以同步操作的流程书写代码。Promise 对象主要具有以下两个特点: Promise 对象的状态只受构造函数内的同步或者一步操作影响,其他外部操作无法改变 Promise 对象的状态。 Promise 对象的状态改变,只会从 pending 变为 resolved 或者从 pending 变为rejected,状态改变后不再会发生改变。 浏览器兼容性 Chrome Edge Firefo…

React组件的生命周期

React组件的生命周期和生命周期方法可以分为以下三个部分:组件的初始化挂载 componentWillMount() : 在初始化渲染执行之前调用; componentDidMount() : 在初始化渲染执行之后调用; 组件的更新 componentWillReceiveProps(): 在组件接收到新的 props 的时候调用; shouldComponentUpdate() : 在接收到新的 props 或者 state,将要渲染之前调用; componentWillUpdate() : 在接收到新的 props 或者 state 之前立…

Javascript异步编程

Callbacks 回调函数回调函数是异步编程的最基本方法。考虑到以下两个函数 f1() 、 和 f2() ,f2()等待f1()的执行结果: function f1(cb) {2setTimeout(function() {22var records = [];22records.push(1, 2);22cb(records);2}, 1000);}function f2(records, cb) {2records.push(3, 4);2cb(records);} 如果 f2()等待f1()的执行结果, f1() 是很耗时的…

各大浏览器CSSHack收集

所谓的Hack就是只有特定浏览器才能识别这段hack代码。Hack 不是什么好东西,除非没有办法,我们尽量还是不要用着玩意。 下面是各个浏览器的CSS Hack 列表。 Firefox 浏览器 @-moz-document url-prefix() { .selector { property: value; }} 支持所有Gecko内核的浏览器 (包括Firefox) *>.selector {2property: value;} Webkit 内核浏览器 @media screen and (-webkit-m…