把你存储的数据想象成为图书馆,可以用索引快速找到任何项目 Normalizr与Reselect 这里描述的模式正是Normalizr库所使用的模式。...如果你想把你的数据扁平化(按类型分开),就像我前面介绍的索引概念一样,请阅读Normalizr的文档《Redux Without Profanity docs》。...Redux 和 Normalizr 与 Reselect 配合的也很好,如果你关心性能,并且喜欢有一个中央列表的记忆选择器,可以关注一下。
嵌套数据范式化 通常服务端返回的都是数组的嵌套格式,如果想转化成我们这样的格式可能需要编写一些转换函数,推荐使用normalizr来实现。
你可以手动去把接口里的信息通过类似数据的表一样像这样存起来,也可以借助一些工具,这里就需要提到一个概念叫做 JSON数据规范化(normalize), Normalizr 是一个开源的工具,可以将上面的深层嵌套的...举个例子,针对上面的 JSON 数据,我们定义 users comments articles 三种 schema: import {normalize, schema} from 'normalizr
normalizr库可以帮助你完成这项工作。Reducer Composition你可以在创建slice时使用其他reducer函数,以组合复杂的业务逻辑。
"less": "^1.7.5", "less-loader": "^0.7.7", "lodash": "^2.4.1", "moment": "^2.8.3", "normalizr
范式化的state可以更有效地利用Store里存储空间; 如果不能更改后端返回的模型,可以考虑使用normalizr;但在我们的项目中,为了满足这一要求,我们专门修改了后端的API。
我们推荐使用 normalizr 之类的库将数据进行扁平化处理,保持状态尽可能地扁平化。
比如 normalizr 就是一种标准数据规范的推进,很多时候我们都将冗余、或者错误归类的数据存入 Store,那维护性自然比较差,Redux 推崇的应当是正确的数据格式化,而不是一昧追求扁平化。
这种方法在 normalizr 文档里有详细阐述 Action处理 确定了 state 对象的结构,就可以开始开发 reducer。
推荐阅读 解析Twitter前端架构 学习复杂场景数据设计 JSON数据范式化(normalizr) React+Redux打造“NEWS EARLY”单页应用 最后推荐我一个好朋友sheen花了大半年时间写了一本前端进阶教程
这种方法在 normalizr 文档里有详细阐述。
less取代wxss,功能更强大 ✦ 引入es-promise,以便可以创建并使用Promise ✦ 添加promisify工具函数,可以便捷的将官方Api转换成Pormise模式 ✦ 引入normalizr
即使是对于从后端返回的层级数据,也可以借助normalizr这样的辅助库去展开。
react-redux保持形状状态的高阶组件 redux-thunk - 用于redux的Thunk中间件 redux-logger - 用于redux的Logger中间件 reselect - Redux的选择器库 normalizr
领取专属 10元无门槛券
手把手带您无忧上云