React中实现循环滑动效果难点 最近有这样一个需求,在h5页面上,向左/向右滑动循环显示数据项,效果如下: 比如有3个页面,从第一个页面向左滑动到第二个页面,或者从第二个页面向左滑动到第三个页面,很简单,只需要将left从0%切换到-100%,或从-100%更换到-200%,然后在对left增加transition属性,如:transition: left 0.5s,就可以简单实现从第一张滑动到第二张,第二张到第三张,那么从第 2018-07-12 React
mobx概览 mobx是和redux一样用于对react进行状态管理,和redux相比,编写起来更加方便,简单。 Action:事件触发,更改Store 里的数据。State: 数据的存储。Reaction:相当于UI的改变。 和redux最主要不同的地方就是action触发,直接修改数据,UI界面更新。背后的原理是proxy,在set 和get 相应的属性上进行截,所以observable对象或者数组中通过用 2018-06-12 JS
Babel介绍 babel默认将es6语法转为es5,如果想要在低版本浏览器上支持es6新增的api,如Array.prototype.from等方法,则需要添加polyfill。 babel的一些主要概念介绍 babel-preset-env : 将es2015 ,es2016,es2017的语法转为es5。 babel-core: 包含transform方法,任何需要引用babel处理文件的,则需调用该方法 2018-06-11 JS
JavaScript装饰者模式 装饰者模式:在不改变对象自身的基础上,在程序运行期间给对象动态地添加新功能。 例如我们要修改以前的一个功能,function a(){...},一般我们的做法是直接在a函数中添加代码,但是这样容易引起bug,万一别处调用了该函数,而我们万一又没测试到,这时可以引入装饰者模式。如: 2017-12-24 JS-设计模式
JavaScript中介模式 中介模式:当对象和对象之间存在多对多的关系时,对象之间存在紧耦合关系,如果修改某一处对象,则可能会导致整个程序down了。而中介者模式是解耦对象之间的紧耦合关系,让对象和对象之间不再是直接联系,让是让对象和中介联系,通过中介获得相关的信息来处理。 生活中常见的场景是比如火车出发和到达站台,需要由指挥调度中心来发出信息,该列车是否可以出发了,或者该列车应该停靠哪个站台,而不用让该列车去联系其他列车A 2017-12-24 JS-设计模式
JavaScript职责链模式 职责链模式:将多个接收者串成一条链子的形式,让请求的对象在该条链子上被传送,直到某个对象可以处理。 场景是在对象发送出时,有多个接收者可以处理该发送者的请求,一般在业务中会经常遇到一个场景,点击某个button以后,比如投资,第一个条件是否实名过,如果未实名,则提示需实名,第二个条件是如果已经实名,当余额不足时,弹出dialog让去充值,第三个条件是当余额充足时,是否已经测评过,如果未测评,则弹出 2017-12-24 JS-设计模式
JavaScript享元模式 享元模式:剥离出对象的外部状态和内部状态,将内部状态放在类中,外部状态可以通过同一个对象共享,即用相对较少的共享对象取代大量对象,常用在创建很多类似的对象而导致内存过高的场景中。 2017-12-23 JS-设计模式
JavaScript模板模式 模板模式:模板模式是由2部分组成,第一部分是抽象父类,第二部分是子类实现,父类是对子类接口方法的定义和实现,而子类需实现父类定义的方法接口,也可以覆盖父类的方法实现。 2017-12-22 JS-设计模式
JavaScript命令模式 命令模式:命令是指执行特定事情的一个指令,在js中,其实高阶函数就是对命令模式的应用,将函数作为参数在整个生命周期中传递,那么函数参数就是个命令指令。 最常见的使用场景是请求者和接收者之间并不知道对方是谁,通过命令(一般是函数)来将彼此之间连接起来。 如果写UI的和js逻辑的是2个人,对于写UI的并不关注比如button的click事件是如何执行的,而只是预留一个onclick事件。对于写js逻辑 2017-12-22 JS-设计模式
JavaScript组合模式 组合模式:组合模式是用小的子对象来构建更大的对象,而这些小的子对象本身也许是由更小的对象构成的。父对象和子对象拥有共同的对象接口,而他们可以组合在一起组成一个更强大的数据结构。一般由子对象进行处理,如果传递到还是非子对象,则继续往下传递直到子对象为止。 类似于命令模式将事件包装成有统一接口的模式,而组合模式就是父对象和子对象就是有相同的对外接口,这里的父对象和子对象并不是父子关系,只是包含组合关系 2017-12-22 JS-设计模式