# 生態
Redux 是一個體小精悍的庫,但它相關的內容和 API 都是精挑細選的,足以衍生出豐富的工具集和可擴展的生態系統。
如果需要關于 Redux 所有內容的列表,推薦移步至 [Awesome Redux](https://github.com/xgrommx/awesome-redux)。它包含了示例、樣板代碼、中間件、工具庫,還有很多其它相關內容。
本頁將只列出其中由 Redux 維護者親自維護的一部分內容。不要因此打消嘗試其它工具的信心!整個生態發展得太快,我們沒有足夠的時間去關注所有內容。建議只把這些當作“內部推薦”,如果你使用 Redux 創建了很酷的內容,不要猶豫,馬上發個 PR 吧。
### 不同框架綁定
- [react-redux](https://github.com/gaearon/react-redux) —— React
- [ng-redux](https://github.com/wbuchwalter/ng-redux) —— Angular
- [ng2-redux](https://github.com/wbuchwalter/ng2-redux) —— Angular 2
### 中間件
- [redux-thunk](http://github.com/gaearon/redux-thunk) —— 用最簡單的方式搭建異步 action 構造器
- [redux-promise](https://github.com/acdlite/redux-promise) —— 遵從 [FSA](https://github.com/acdlite/flux-standard-action) 的 promise 中間件
- [redux-rx](https://github.com/acdlite/redux-rx) —— 給 Redux 用的 RxJS 工具,包括觀察變量的中間件
- [redux-logger](https://github.com/fcomb/redux-logger) —— 記錄所有 Redux action 和下一次 state 的日志
- [redux-immutable-state-invariant](https://github.com/leoasis/redux-immutable-state-invariant) —— 開發中的狀態變更提醒
### 組件
- [redux-form](https://github.com/erikras/redux-form) —— 在 Redux 中時時持有 React 表格的 state
### Store 增效器
- [redux-batched-subscribe](https://github.com/tappleby/redux-batched-subscribe) —— 針對 store subscribers 的自定義批處理與防跳請求
- [redux-history-transitions](https://github.com/johanneslumpe/redux-history-transitions) —— 基于獨斷的 action 的 history 庫轉換
### Reducer 增效器
- [redux-optimist](https://github.com/ForbesLindesay/redux-optimist) —— 樂觀使用將被提交或還原的 action
- [redux-undo](https://github.com/omnidan/redux-undo) ——使 reducer 具有便捷的重做/撤銷,以及 action 記錄功能
### 工具集
- [reselect](https://github.com/faassen/reselect) —— 受 NuclearJS 啟發,有效派生數據的選擇器
- [normalizr](https://github.com/gaearon/normalizr) —— 通過內嵌 API 響應標準化,使 reducer 的處理更簡便
- [redux-actions](https://github.com/acdlite/redux-actions) —— 在初始化 reducer 和 action 構造器時減少樣板代碼 (boilerplate)
- [redux-transducers](https://github.com/acdlite/redux-transducers) —— Redux 的編譯器工具
- [redux-immutablejs](https://github.com/indexiatech/redux-immutablejs) —— Redux 和 [Immutable](https://github.com/facebook/immutable-js/) 的交互工具
- [redux-tcomb](https://github.com/gcanti/redux-tcomb) —— 在 Redux 中使用具有不可變特性、并經過類型檢查的 state 和 action
### 開發者工具
- [redux-devtools](http://github.com/gaearon/redux-devtools) —— 一個使用時間旅行 UI 、熱加載和 reducer 錯誤處理器的 action 日志工具,[最早演示于 React Europe 會議](https://www.youtube.com/watch?v=xsSnOQynTHs)
### 教程與文章
- [redux-tutorial](https://github.com/happypoulp/redux-tutorial) —— 一步步學習使用 Redux
- [What the Flux?! Let’s Redux.](https://blog.andyet.com/2015/08/06/what-the-flux-lets-redux) —— Redux 介紹
- [Handcrafting an Isomorphic Redux Application (With Love)](https://medium.com/@bananaoomarang/handcrafting-an-isomorphic-redux-application-with-love-40ada4468af4) —— 使用數據抓取與路由分發的同構應用創建指南
- [Full-Stack Redux Tutorial](http://teropa.info/blog/2015/09/10/full-stack-redux-tutorial.html) —— 使用 Redux 、React 和 Immutable 的測試優先開發指南
### 演講
- [Live React: Hot Reloading and Time Travel](http://youtube.com/watch?v=xsSnOQynTHs) —— 了解 Redux 如何使用限制措施,讓伴隨時間旅行的熱加載變得簡單
- [Cleaning the Tar: Using React within the Firefox Developer Tools](https://www.youtube.com/watch?v=qUlRpybs7_c) —— 了解如何從已有的 MVC 應用逐步遷移至 Redux
### 社區公約
- [Flux Standard Action](https://github.com/acdlite/flux-standard-action) —— Flux 中 action object 的人性化標準
- [Canonical Reducer Composition](https://github.com/gajus/canonical-reducer-composition) —— 嵌套 reducer 組成的武斷標準
- [Ducks: Redux Reducer Bundles](https://github.com/erikras/ducks-modular-redux) —— 關于捆綁多個 reducer, action 類型 和 action 的提案
### 更多
[Awesome Redux](https://github.com/xgrommx/awesome-redux) 是一個展示豐富 Redux 相關信息的列表。