此笔记是对 Redux 中文官网 中 state 范式化的总结。 1. State 范式化 事实上,大部分程序处理的数据都是嵌套或互相关联的。例如,一个博客中有多篇文章,每篇文章有多条评论,所有的文章和评论又都是由用户产生的。这种类型应用的数据看上去可能是这样的: 这种结构的特点是很直观,跟页面结构一致,但存在以下几个问题: 1) 当数据在多处冗余后,需要更...
React 中的高阶组件和 Redux 中的高阶 Reducer
最近在使用 ant-design 完成网页的过程中,碰到了需要复用组件和 Reducer 的问题。详情可点击其 github 仓库; 1. 组件复用 页面左侧有三个一级菜单 电影、音乐和图书,使用 react-router 4 实现点击菜单跳转至相应的组件。 电影页面: 音乐页面: 图书页面: 1.1 路由、组件和 state 结构 路由部分代码如下: <Switch&g...
使用递归实现 ES5 中的数组方法 reduce
1. 递归 JavaScript高级程序设计(第三版) 第7章中的7.1节讲了 递归。 1.1 递归函数 递归函数是在一个函数通过名字调用自身的情况下构成的。 书中给了一个经典的递归阶乘函数: function factorial(num) { if(num <= 1) { return 1; } else { return num * fact...
学习笔记:使用Redux+React制作一款找工作的APP
本文记录了使用 Redux 和 React 制作找工作APP过程中的一些要点。 1. 准备工作 1.1 快速构建应用 使用create-react-app快速构建单页面应用,具体过程可以参考我的笔记: Redux 搭配 React 完成迷你型任务管理应用 Todo List 。 create-react-app能够让我们省去安装和配置webpack、babel等工作,在此项目中我们需要...