Redux生态系统
生态系统
Redux 是一个体小精悍的库,但它相关的内容和 API 都是精挑细选的,足以衍生出丰富的工具集和可扩展的生态系统。
如果需要关于 Redux 所有内容的列表,推荐移步至 Awesome Redux。它包含了示例、样板代码、中间件、工具库,还有很多其它相关内容。要想学习 React 和 Redux ,React/Redux Links 包含了教程和不少有用的资源,Redux Ecosystem Links 则列出了 许多 Redux 相关的库及插件。
本页将只列出由 Redux 维护者审查过的一部分内容。不要因此打消尝试其它工具的信心!整个生态发展得太快,我们没有足够的时间去关注所有内容。建议只把这些当作“内部推荐”,如果你使用 Redux 创建了很酷的内容,不要犹豫,马上发个 PR 吧。
学习 Redux
演示
- 开始学习 Redux — 向作者学习 Redux 基础知识(30 个免费的教学视频)
- 学习 Redux — 搭建一个简单的图片应用,简要使用了 Redux、React Router 和 React.js 的核心思想
示例应用
- 官方示例 — 一些官方示例,涵盖了多种 Redux 技术
- SoundRedux — 用 Redux 构建的 SoundCloud 客户端
- grafgiti — 在你的 Github 的 Contributor 页上创建 graffiti
教程与文章
- Redux 教程
- Redux Egghead 课程笔记
- 使用 React Native 进行数据整合
- What the Flux?! Let’s Redux.
- Leveling Up with React: Redux
- A cartoon intro to Redux
- Understanding Redux
- Handcrafting an Isomorphic Redux Application (With Love)
- Full-Stack Redux Tutorial
- Getting Started with React, Redux, and Immutable
- Secure Your React and Redux App with JWT Authentication
- Understanding Redux Middleware
- Angular 2 — Introduction to Redux
- Apollo Client: GraphQL with React and Redux
- Using redux-saga To Simplify Your Growing React Native Codebase
- Build an Image Gallery Using Redux Saga
- Working with VK API (in Russian)
演讲
- Live React: Hot Reloading and Time Travel — 了解 Redux 如何使用限制措施,让伴随时间旅行的热加载变得简单
- Cleaning the Tar: Using React within the Firefox Developer Tools — 了解如何从已有的 MVC 应用逐步迁移至 Redux
- Redux: Simplifying Application State — Redux 架构介绍
使用 Redux
不同框架绑定
- react-redux — React
- ng-redux — Angular
- ng2-redux — Angular 2
- backbone-redux — Backbone
- redux-falcor — Falcor
- deku-redux — Deku
中间件
- redux-thunk — 用最简单的方式搭建异步 action 构造器
- redux-promise — 遵从 FSA 标准的 promise 中间件
- redux-axios-middleware — 使用 axios HTTP 客户端获取数据的 Redux 中间件
- redux-observable — Redux 的 RxJS 中间件
- redux-rx — 给 Redux 用的 RxJS 工具,包括观察变量的中间件
- redux-logger — 记录所有 Redux action 和下一次 state 的日志
- redux-immutable-state-invariant — 开发中的状态变更提醒
- redux-unhandled-action — 开发过程中,若 Action 未使 State 发生变化则发出警告
- redux-analytics — Redux middleware 分析
- redux-gen — Redux middleware 生成器
- redux-saga — Redux 应用的另一种副作用 model
- redux-action-tree — Redux 的可组合性 Cerebral-style 信号
- apollo-client — 针对 GraphQL 服务器及基于 Redux 的 UI 框架的缓存客户端
路由
- redux-simple-router — 保持 React Router 和 Redux 同步
- redux-router — 由 React Router 绑定到 Redux 的库
组件
- redux-form — 在 Redux 中时时持有 React 表格的 state
- react-redux-form — 在 React 中使用 Redux 生成表格
增强器(Enhancer)
- redux-batched-subscribe — 针对 store subscribers 的自定义批处理与防跳请求
- redux-history-transitions — 基于独断的 action 的 history 库转换
- redux-optimist — 使 action 可稍后提交或撤销
- redux-optimistic-ui — A reducer enhancer to enable type-agnostic optimistic updates 允许对未知类型进行更新的 reducer 增强器
- redux-undo — 使 reducer 便捷的重做/撤销,以及 action 记录功能
- redux-ignore — 通过数组或过滤功能忽略 redux action
- redux-recycle — 在确定的 action 上重置 redux 的 state
- redux-batched-actions — 单用户通知去 dispatch 多个 action
- redux-search — 自动 index 站点资源并实现即时搜索
- redux-electron-store — Store 增强器, 可同步不同 Electron 进程上的多个 Redux store
- redux-loop — Sequence effects purely and naturally by returning them from your reducers
- redux-side-effects — Utilize Generators for declarative yielding of side effects from your pure reducers
工具集
- reselect — 受 NuclearJS 启发,有效派生数据的选择器
- normalizr — 为了让 reducers 更好的消化数据,将API返回的嵌套数据范式化
- redux-actions — 在初始化 reducer 和 action 构造器时减少样板代码 (boilerplate)
- redux-act — 生成 reducer 和 action 创建函数的库
- redux-transducers — Redux 的编译器工具
- redux-immutablejs — 将Redux 和 Immutable 整合到一起的工具
- redux-tcomb — 在 Redux 中使用具有不可变特性、并经过类型检查的 state 和 action
- redux-mock-store - 模拟 redux 来测试应用
- redux-actions-assertions — Redux actions 测试断言
开发者工具
- redux-devtools — 一个使用时间旅行 UI 、热加载和 reducer 错误处理器的 action 日志工具,最早演示于 React Europe 会议
- Redux DevTools Extension — 打包了 Redux DevTools 及附加功能的 Chrome 插件
开发者工具监听器
- Log Monitor — Redux DevTools 默认监听器,提供树状视图
- Dock Monitor — A resizable and movable dock for Redux DevTools monitors
- Slider Monitor — Redux DevTools 自定义监听器,可回放被记录的 Redux action
- Inspector — Redux DevTools 自定义监听器,可筛选、区分 action,深入 state 并监测变化
- Diff Monitor — 区分不同 action 的 store 变动的 Redux Devtools 监听器
- Filterable Log Monitor — 树状可筛选视图的 Redux DevTools 监听器
- Chart Monitor — Redux DevTools 图表监听器
- Filter Actions — 可筛选 action 、可组合使用的 Redux DevTools 监听器
社区公约
- Flux Standard Action — Flux 中 action object 的人性化标准
- Canonical Reducer Composition — 嵌套 reducer 组成的武断标准
- Ducks: Redux Reducer Bundles — 关于捆绑多个 reducer, action 类型 和 action 的提案
翻译
- 中文文档 — 简体中文
- 繁體中文文件 — 繁体中文
- Redux in Russian — 俄语
- Redux en Español - 西班牙语
更多
- Awesome Redux 是一个包含大量与 Redux 相关的库列表。
- React-Redux Links React、Redux、ES6 的高质量文章、教程、及相关内容列表。
- Redux Ecosystem Links Redux 相关库、插件、工具集的分类资源。
Redux生态系统的更多相关文章
- 【原】redux学习笔记
上周学习了flux,这周研究了一下redux,其实很早之前都已经在研究他们了,只是之前一直没搞懂,最近这两周可能打通了任督二脉,都算入门了. 写博客的目的主要是做一下笔记,总结一下思路,以及和大家交流 ...
- 2017年 JavaScript 框架回顾 -- React生态系统
前一篇文章中,我们介绍了2017年 JavaScript 框架的整体情况.我们也了解到在众多的前端框架中,目前最为庞大又在快速增长的当属 React 了,本文就来重点介绍 React 的生态系统. 首 ...
- RxJS + Redux + React = Amazing!(译一)
今天,我将Youtube上的<RxJS + Redux + React = Amazing!>翻译(+机译)了下来,以供国内的同学学习,英文听力好的同学可以直接看原版视频: https:/ ...
- 通过一个demo了解Redux
TodoList小demo 效果展示 项目地址 (单向)数据流 数据流是我们的行为与响应的抽象:使用数据流能帮我们明确了行为对应的响应,这和react的状态可预测的思想是不谋而合的. 常见的数据流框架 ...
- RxJS + Redux + React = Amazing!(译二)
今天,我将Youtube上的<RxJS + Redux + React = Amazing!>的后半部分翻译(+机译)了下来,以供国内的同学学习,英文听力好的同学可以直接看原版视频: ht ...
- redux学习
redux学习: 1.应用只有一个store,用于保存整个应用的所有的状态数据信息,即state,一个state对应一个页面的所需信息 注意:他只负责保存state,接收action, 从store. ...
- webpack+react+redux+es6开发模式
一.预备知识 node, npm, react, redux, es6, webpack 二.学习资源 ECMAScript 6入门 React和Redux的连接react-redux Redux 入 ...
- Redux初见
说到redux可能我们都先知道了react,但我发现,关于react相关的学习资料很多,也有各种各样的种类,但是关于redux简单易懂的资料却比较少. 这里记录一下自己的学习理解,希望可以简洁易懂,入 ...
- Spark 生态系统组件
摘要: 随着大数据技术的发展,实时流计算.机器学习.图计算等领域成为较热的研究方向,而Spark作为大数据处理的“利器”有着较为成熟的生态圈,能够一站式解决类似场景的问题.那你知道Spark生态系统有 ...
随机推荐
- Java类和对象的内存分配
类的加载时机: 1.创建对象 2.调用类的静态成员 3.加载子类 类在实例化后的内存分配 1.每次创建对象时,都需要进行加载和创建2个操作: ① 先去判断需要的类是否已经加载,如果已经加载了,则无需再 ...
- 《jmeter:菜鸟入门到进阶系列》
jmeter是我从事软件测试工作以来接触的第一个性能测试工具,也是耗费时间精力最多的一个工具,当然,学习jmeter过程中,由于知识储备不够,也顺带学习了很多其他相关的一些知识. 一直有个想法,就是把 ...
- linux安装mysql(tar.gz)
1. 查看卸载自带的mysql # rpm -qa|grep MySQLMySQL-X.X.X#rpm -e MySQL-X.X.X # rpm -qa|grep mariadb #有些版本还得查看卸 ...
- 【洛谷p1309】瑞士轮
因为太菜不会写P1310 表达式的值,就只能过来水两篇博客啦qwq 另外这个题我是开o2才过的(虽然是写了归并排序)(可能我太菜写的归并不是还可以“剪枝”吧qwq)哎,果真还是太菜啦qwq 所以准备写 ...
- C/C++表达式求值问题
转载:https://originlee.com/2016/05/01/eval-expression-in-c-and-cpp/ 前几日,一个刚学编程的老朋友问了我一个问题: int i = 0;i ...
- spring-security问题记录
一.错误信息 Could not decode JSON for additional information: BaseClientDetails 2019-12-03 22:18:37.239 W ...
- 基于Vue JS, Webpack 以及Material Design的渐进式web应用 [Part 1]
基于Vue JS, Webpack 以及Material Design的渐进式web应用 [Part 1] 原文:基于Vue JS, Webpack 以及Material Design的渐进式web应 ...
- 文献管理工具mendeley登录问题
mendeley是一个文献管理工具,但是有一个让人诟病的地方是第一次登录,容易出现问题: 1.点击登录按钮后,报出红色警告 这个百度的问题中,经常提到的是这个,去点击红色错误的链接,通常应该是需要fa ...
- thinkphp 系统变量
一.查看可用变量 dump($_SERVER); 可以直接在html输出系统变量的值 <p>{$Think.server.HTTP_HOST}</p>. 二.环境变量 1.查看 ...
- frugally-deep: Header-only library for using Keras models in C++
// Convenience wrapper around predict for models with // single tensor outputs of shape (1, 1, 1), / ...