Redux是JavaScript应用程序的状态容器.
- 官方网站:
devarchy.com/redux - 使用
devarchy将库添加到目录中
Code Architecture
redux-schema-Redux的自动操作,缩减器和验证.redux-tcomb-Redux的不可变和类型检查状态和操作.redux-action-tree- 使用Redux运行的脑信号.redux-elm-JavaScript中的Elm架构.
Utilities
redux-orm- 小而简单且不可变的ORM,用于管理Redux存储中的关系数据.redux-api-middleware- 用于调用API的Redux中间件.redux-ignore- 高阶reducer忽略Redux动作.redux-modifiers- 用于编写Redux Reducer以在各种数据结构上运行的通用函数的集合.rereduce-Redux的Reducer库.redux-search- 用于客户端搜索的Redux绑定.redux-logger-Redux的Logger中间件.redux-immutable-redux-immutable用于创建与Immutable.js状态一起使用的ReduxcombineReducers的等效函数.reselect-Redux的选择器库.redux-requests- 使用Reduxreducer管理正在进行的请求,以避免发出重复请求.redux-undo- 更高级的reducer,用于向Redux状态容器添加撤消/重做功能.redux-bug-reporter-Redux的Bug报告器和错误播放工具.redux-transducers-Redux的transducer实用程序.
Store Persistence
redux-storage-Redux的持久层,具有灵活的后端.redux-persist- 坚持和补充Redux商店.
Side Effects
副作用/异步动作 (Side Effects/Async Actions)
redux-saga-Redux应用程序的替代副作用模型.redux-promise-middleware-Redux中间件,用于通过条件乐观更新来解决和拒绝Promise.redux-effects- 你编写纯函数,redux-effects处理其余的函数.redux-thunk-Redux的Thunk中间件.redux-connect- 提供装饰器来解析react-router中的异步props,对于在React中处理服务器端渲染非常有用.redux-loop-Elm效果的端口和Elm架构到Redux,它允许您自然而纯粹地通过从reducer返回它们来对您的效果进行排序.redux-side-effects-Redux工具套件,用于在reducer内保持所有副作用,同时保持其纯度.redux-logic- 用于组织业务逻辑和动作副作用的Redux中间件.redux-observable- 使用“Epics”在Redux中实现动作副作用的RxJS中间件.redux-ship- 可组合,可测试和可打字的副作用.
Code Style
redux-act- Opinionated lib为Redux创建action和reducer.redux-crud-ReduxCRUD应用程序的标准action和reducer集.
Dev tools / Inspection tools
redux-devtools-inspector- 另一个Redux DevTools监视器.redux-diff-logger-Redux状态之间的差异记录器.redux-devtools-chart-monitor-Redux DevTools的图表监视器.redux-devtools- 用于Redux的DevTools,具有热重新加载,动作重放和可自定义的UI.redux-devtools-dispatch- 手动发送您的action以测试您的应用是否反应良好.redux-devtools-dock-monitor-Redux DevTools显示器的可调整大小和可移动的底座.redux-devtools-filterable-log-monitor-Redux DevTools的可过滤树视图监视器.redux-devtools-log-monitor- 具有树视图的Redux DevTools的默认监视器.remote-redux-devtools- 远程Redux DevTools.
React Integration
redux-test-recorder-Redux中间件,通过UI交互自动生成Reducer测试.react-redux-Redux的官方React绑定.react-easy-universal- Universal Routing & Rendering withReact&Reduxwas too hard. Now it's easy.redux-form-material-ui- 一组包装器组件,以便于使用带有Redux Form的Material UI.
Routing
redux-async-connect- 它允许您请求异步数据,将它们存储在Redux状态并将它们连接到您的React组件.redux-tiny-router- 为Redux制作的路由器,适用于通用应用程序. 停止使用路由器作为控制器,它只是状态.redux-router-React Router的Redux绑定 - 将您的路由器状态保留在Redux存储区中.react-router-redux- 无情的简单绑定,以保持react-router和Redux同步.ground-control-React Router&Redux的可扩展的reducer管理和强大的数据获取功能.
Forms
redux-form- 使用react-redux在Redux存储中保持表单状态的高阶组件.react-redux-form- 使用Redux在React中轻松创建表单.
Component State
redux-react-local- 通过Redux的本地组件状态.redux-ui-React Redux的简易UI状态管理.
Other Integrations
Flux
redux-actions-Redux的Flux标准动作实用程序.redux-promise- 适用于Redux的FSA兼容Promise中间件.
Backbone
backbone-redux- Easy way to keep yourBackbonecollections andReduxstore in sync.
Falcor
redux-falcor- 将Redux前端连接到您的Falcor后端.
RxJS
redux-observable- 使用“Epics”在Redux中实现动作副作用的RxJS中间件.rx-redux- 使用RxJS重新实现Redux.redux-rx-Redux的RxJS实用程序.redurx-Redux'ish Functional State Management usingRxJS.
Electron
redux-electron-store-Redux存储增强器,允许Electron过程之间的自动同步.
Deku
deku-redux-Dekuv2中Redux的绑定.
Other
redux-rollbar-middleware-Redux中间件,它包含action中的异常并将它们发送到具有当前状态的Rollbar.kasia- 针对WordPress API的React Redux工具集.
Boilerplate
锅炉/脚手架/入门套件/发电机/堆叠套装 (Boilerplate/Scaffolding/Starter Kits/Generators/Stack Ensembles)
redux-cli- 用于更快地构建Redux/React应用程序的意见CLI.reactuate-React/Redux堆栈(不是样板工具包).react-chrome-extension-boilerplate- 用于Chrome扩展React.js项目的Boilerplate.universal-redux-Npm包,可让您直接使用通用(同构)渲染编写React和Redux编码. 如果您愿意,只管理Express设置或Webpack配置.generator-react-aspnet-boilerplate- 使用ASP.NET Core 1构建同构React应用程序的起点,利用现有技术.generator-redux- 用于Redux的CLI工具:使用devtools的下一代功能Flux/React.generator-react-webpack-redux-React WebpackGenerator,包括Redux支持.socrates- 小型(8kb),包含电池的Redux商店,以减少样板并促进良好习惯.
Miscellaneous
redux-core- 最小的Redux.
Learning Material
-
Redux的概念Reduxofficial documentation 在解释Redux的核心原则方面做得非常出色. -
为什么不可变数据结构
该 guide on performance
React的官方文档很好地解释了不可变数据结构是什么以及它们为何扮演重要角色. -
副作用 (
Side Effects)Redux Loop's readme 在Redux的上下文中提供了对Side Effects的深入了解.
阅读上述材料将为您使用Redux编写应用程序提供良好的开端.
如果您对更多内容感到好奇,请查看以下资源.
-
函数式编程 - 基础知识
这个 post 在构建
YouTube即时搜索演示应用程序时,介绍了函数式编程的基本概念. -
反应式编程 (
Reactive Programming)这个 introduction to Reactive Programming 详细解释了反应式编程.
-
函数式编程 - 超越
写得好 article 讨论了在函数式语言中实现的有趣的计算机科学概念以及它们如何应用于
JavaScript. -
Monads对
monads感到好奇吗? 维基百科给了一个好处 overview on monads 和 this article 通过图形和简单示例更详细地解释了monads.