【话说 Redux 源码(四)】compose —— 管道工

这是本 Redux 源码阅读历程的第四篇文章。这次我们依然讲一个工具函数, 这个工具函数是 redux 中间件系统的重要基础,它就是 compose。 compose 的用法compose 工具函数的作用非常简单明了,就是把一组函数组合成一个函数。我们先来看它是怎么使用的。 1234567891011121314...

【话说 Redux 源码(三)】bindActionCreators —— 箭在弦上

bindActionCreators —— 箭在弦上这是本 Redux 源码阅读历程的第三篇文章,第一篇中我们提及了分发 action 对象的方式:dispatch() 一个 action 生成器。 有个小麻烦如果需要分发的 action 多了,你会见到类似下面的情况:123456// 分发 actionAdis...

【话说 Redux 源码(二)】combineReducers —— 涓涓溪流,可成江海

这是本 Redux 源码阅读历程的第二篇文章,在第一篇文章我简单提到了 reducer,这也是 Redux 里的一个重要概念。 我们常常会在营销活动广告的角落里找到一行字:“最终解释权归主办方所有”。也就是说你按照活动规则完成任务以后,怎么获得奖励以及获得多少奖励,由 “主办方” 说了算。而在 Redux 中,触...

【话说 Redux 源码(一)】createStore —— 繁华的起点

这是本 Redux 源码阅读历程的第一篇文章,我们就从 Redux 库的核心文件 —— createStore.js 开始研读。讲道理,Redux 库跟外面其他妖艳的 JS 库不一样,配套注释十分详细,阅读下来就跟读思路清晰的文章感受差不多。嗯,是个正经的 JS 库。 进入正题,store 是 Redux 的核心...

翻译 | 玩转 React 表单 —— 受控组件详解

本文涵盖以下受控组件: 文本输入框 数字输入框 单选框 复选框 文本域 下拉选择框 同时也包含: 表单数据的清除和重置 表单数据的提交 表单校验 点击这里直接查看示例代码。查看示例。请在运行示例时打开浏览器的控制台。 介绍在学习 React.js 时我遇到了一个问题,那就是很难找到受控组件的真...

翻译|上手 Webpack ? 这篇就够了!

JavaSript 模块化打包已混迹江湖许久。2009年,RequireJS 就提交了它的第一个版本,Browserify 接踵而至,随后其他打包工具也开始大行其道。最终,Webpack 从其中脱颖而出。如果你对它不甚了解,希望我的文章能让你上手这件强力打包工具。 什么是模块化打包工具?在大多数语言(JS 的最新...

2016,探索

十二月份一到,很多人就陆陆续续开始总结自己的这一年,一篇篇的年终总结更是如春笋一般接踵而至。诚然,我没有写年终总结的习惯,但回首后发现,这一年于我之重要性,无法让我漠然放它离去。因此,趁着还剩两个小时,我便打算这样揪着 2016 的尾巴,梳理一下记忆,直到 2017 的钟声敲响。 我想,今年我的关键词,应该是探索...

React技术栈探究-Redux

React技术栈耕耘 —— ReduxRedux 是近年来提出的 Flux 思想的一种实践方案,在它之前也有 reflux 、 fluxxor 等高质量的作品,但短短几个月就在 GitHub 上获近万 star 的成绩让这个后起之秀逐渐成为 Flux 的主流实践方案。 正如 Redux 官方所称,React 禁止...

汉诺塔的正确打开方式

引子有一款古老的游戏,它的名字相信很多人,特别是计算机相关专业的朋友都耳熟能详 --汉诺塔。 这款游戏的基本玩法是这样的,得到几个大小不一的盘子,从大到小把它们摞成一个小塔,然后我们要把这座“小塔”移到目标位置去。 说完了游戏目标,我们再来说一说游戏规则。它的规则只有两个:第一,一次只能移动一个盘。第二,我们可以...

Five ways to Hello World

By console.log 12console.log('Hellow World');//ignore the IE :-) By document.writeln 12document.writeln('Hellow World');//will rewrite the DOM By window.a...