Redux (JavaScriptライブラリ)

Redux(リーダックス)は、アプリケーションの状態管理のためのオープンソースJavaScriptライブラリである。ユーザーインターフェイスを構築するために、ReactAngularなどのライブラリで最もよく使用される。FacebookのFluxアーキテクチャの影響を受けて、Dan AbramovとAndrew Clarkによって作成された。

Redux
作者 Dan Abramov and Andrew Clark
初版 2015年6月2日 (9年前) (2015-06-02)[1]
最新版
4.0.5 / 2019年12月23日 (4年前) (2019-12-23)[2]
リポジトリ ウィキデータを編集
プログラミング
言語
JavaScript
プラットフォーム クロスプラットフォーム
種別 JavaScriptライブラリ
ライセンス MIT
公式サイト redux.js.org
テンプレートを表示

概要

編集

Reduxは、アプリケーションの状態を予測できるコンテナになるように設計された、シンプルで限定的なAPIを備えた小さなライブラリである。関数型プログラミングの概念であるreduce関数と同様に動作する。

関数型プログラミング言語Elmの影響を受けている[3]

歴史

編集

Reduxは、2015年にDan AbramovとAndrew Clarkによって作成された。Abramovは、React Europe[4]でのホットリロードに関するカンファレンストーク[5]の用意をしながら、最初のReduxの実装を開始した。Abramovは、「私はロジックが変更できるFluxのコンセプトを証明しようとした。そして、それは私にタイムトラベルをさせる。そして、それは私にコードの変更に対する未来のアクションを再適用することを可能にするだろう」と発言している[6]

Abramovは、reduce関数とFluxパターンの類似性に感銘を受けた。「私はFluxを時間の経過に伴うreduce操作と考えていた... ストアは、これらの行動に反応して状態を蓄積する。これをさらに進めることを考えていた。Fluxストアがストアではなく、reduce関数だった場合はどうなるか?」[7]

Abramovは、Andrew Clark(Fluxの実装であるFlummoxの作者)に協力者として接触した。特に、彼はツールのReduxエコシステムを可能にし、ミドルウェアやストアエンハンサーなどの拡張ポイントを実装する一貫したAPIの作成を支援したことで、Clarkの功績を認めている[7]

2019年2月、useReducerは16.8リリースでReactフックとして導入された。Reduxと一貫性のあるAPIを提供し、開発者がコンポーネントの状態にローカルなReduxのようなストアを作成できるようにする[8]

脚注

編集
  1. ^ Initial release tag
  2. ^ Releases – ReactJS/Redux”. GitHub. 2020年8月24日閲覧。
  3. ^ An Introduction To Redux”. Smashing Magazine. 2020年8月24日閲覧。
  4. ^ ReactEurope 2015 - Live React: Hot Reloading with Time Travel”. ReactEurope. 2020年8月24日閲覧。
  5. ^ Dan Abramov - Live React: Hot Reloading with Time Travel at react-europe 2015”. Youtube. 2020年8月24日閲覧。
  6. ^ Abramov. “Progression, Curiosity, and Burnout with Dan Abramov”. TylerMcGinnis.com. 7 April 2018閲覧。
  7. ^ a b Abramov. “The History of React and Flux with Dan Abramov”. Three Devs and a Maybe. 7 April 2018閲覧。
  8. ^ React v16.8: The One with Hooks

外部リンク

編集