Redux之计算衍生数据
Reselect 库可以创建可记忆的(Memoized)、可组合的 selector 函数。Reselect selectors 可以用来高效地计算 Redux store 里的衍生数据。 可记忆的 Selectors 初衷 上面的示例中,mapStateToProps 调用了 getVisibleTodos 来计算 todos。运行没问题,但有一个缺点:每当组件更新时都会重新计算 todos。如果 state tree… »
女王控的博客
Reselect 库可以创建可记忆的(Memoized)、可组合的 selector 函数。Reselect selectors 可以用来高效地计算 Redux store 里的衍生数据。 可记忆的 Selectors 初衷 上面的示例中,mapStateToProps 调用了 getVisibleTodos 来计算 todos。运行没问题,但有一个缺点:每当组件更新时都会重新计算 todos。如果 state tree… »
自述 redux-saga 是一个用于管理应用程序 Side Effect(副作用,例如异步获取数据,访问浏览器缓存等)的 library,它的目标是让副作用管理更容易,执行更高效,测试更简单,在处理故障时更容易。 可以想像为,一个 saga 就像是应用程序中一个单独的线程,它独自负责处理副作用。 redux-saga 是一个 redux 中间件,意味着这个线程可以通过正常的 redux action 从主应用程序启动,暂停和取消,它能访问完整的 redux state,也可以 dispatch… »
异步 Action 在 基础教程 中,我们创建了一个简单的 todo 应用。它只有同步操作。每当 dispatch action 时,state 会被立即更新 Action 当调用异步 API 时,有两个非常关键的时刻:发起请求的时刻,和接收到响应的时刻(也可能是超时) 这两个时刻都可能会更改应用的 state;为此,你需要 dispatch 普通的同步 action。一般情况下,每个 API 请求都需要 dispatch 至少三种 action 一种通知 reducer… »
Immutable 定义 Immutable 数据就是一旦创建,就不能更改的数据。每当对 Immutable 对象进行修改的时候,就会返回一个新的 Immutable 对象,以此来保证数据的不可变 Immutable 数据类型 List: 有序索引集,类似 JavaScript 中的 Array。 Map: 无序索引集,类似 JavaScript 中的 Object。 OrderedMap: 有序的 Map,根据数据的 set()进行排序。 Set: 没有重复值的集合。 OrderedSet… »
简介 Redux 是 JavaScript 状态容器,提供可预测化的状态管理 可以让你构建一致化的应用,运行于不同的环境(客户端、服务器、原生应用),并且易于测试。不仅于此,它还提供超爽的开发体验,比如有一个时间旅行调试器可以编辑后实时预览 Redux 由 Flux 演变而来,但受 Elm 的启发,避开了 Flux 的复杂性。不管你有没有使用过它们,只需几分钟就能上手 Redux 三大原则 单一数据源 整个应用的 state 被储存在一棵 object tree 中,并且这个 object… »