动机
我们热爱 React 和 Redux。但是,Redux 中有太多的样板文件,需要很多的重复劳动,这一点令人沮丧;更别提在实际的 React 应用中,还要集成 react-router
的路由功能了。
一个典型的 React/Redux 应用看起来像下面这样:
actions.js
|
|
我们热爱 React 和 Redux。但是,Redux 中有太多的样板文件,需要很多的重复劳动,这一点令人沮丧;更别提在实际的 React 应用中,还要集成 react-router
的路由功能了。
一个典型的 React/Redux 应用看起来像下面这样:
actions.js
|
|
在处理诸如 resize
、scroll
、mousemove
和 keydown/keyup/keypress
等事件的时候,通常我们不希望这些事件太过频繁地触发,尤其是监听程序中涉及到大量的计算或者有非常耗费资源的操作。
有多频繁呢?以 mousemove
为例,根据 DOM Level 3 的规定,「如果鼠标连续移动,那么浏览器就应该触发多个连续的 mousemove
事件」,这意味着浏览器会在其内部计时器允许的情况下,根据用户移动鼠标的速度来触发 mousemove
事件。(当然了,如果移动鼠标的速度足够快,比如“刷”一下扫过去,浏览器是不会触发这个事件的)。resize
、scroll
和 key*
等事件与此类似。
可以参看这个 Demo 体会下。
ES6 已经来了,ES7 还会远么?
ES6 标准已于上个月(2015年6月17日)正式发布,众多新特性成为标准固然另人激动,然而更值得憧憬的还是未来。所以,让我们来看看 ES7(更正式的说法是 ES2016)有哪些激动人心的变化。最为人津津乐道的可能就是 async/await 了,不过我个人非常喜欢 Yehuda Katz 提出的 decorator 模式,本文尝试对此做一个介绍。
ES7 的 decorator 概念是从 Python 借来的,在 Python 里,decorator 实际上是一个 wrapper,它作用于一个目标函数,对这个目标函数做一些额外的操作,然后返回一个新的函数:
注:我读的是 顾肃译本,对我来说,这个译本总体上读起来很通顺,除了极少数长句有些别扭之外,其他都很容易理解。
密尔的这本《论自由》,其实早就应该读的。大学期间在图书馆看到过一本老旧的严复译《群己权界论》,严本所受评价甚高,奈何其文颇为晦涩拗口(其实是我古文水平太低),翻了两页就没勇气继续下去了,后面就一直束之高阁。直到最近,才趁着空闲时间,读完了这本只有不到两百页的「小书」。
在本书的开篇,作者就声明,本书要讨论的「自由」是「公民自由或社会自由,即社会可以合法地施加于个人的权力之性质和界限」(由此可见严复译本书名之准确贴切)。这个界限是什么呢?作者说,是自我保护,即「人类可以个别地或集体地对任何成员的行动自由进行干涉,其唯一的正当理由是旨在自我保护」。在其他任何情况下,只要一个人的行动不会明显而立即地对他人造成伤害,则社会没有权力阻止他的行动。这说的是社会权力之界限。由此我们也可以推导出个人自由的界限,这个界限就是,个人自由不能妨害他人同样的自由。
jspm 是一个包管理器,使用 SystemJS 这个模块加载器进行模块的管理。SystemJS 是一个所谓 universal module loader
,基于 ES6 module loader,除了能加载 ES6 模块,还支持 CommonJS,AMD 及 globals 语法。
jspm 通过 registry 加载模块,它其实没有自己的仓库,目前只能加载 npm
和 github
上的模块,当然也可以自己通过它的 registry
机制「注册」一些模块之后使用。