Redux(ソフトウェア)

再登場
原作者ダン・アブラモフ、アンドリュー・クラーク
初回リリース2015年6月2日[ 1 ] (2015年6月2日
安定版リリース
5.0.1 / 2023年12月23日[ 2 ] ( 2023-12-23 )
リポジトリ
書かれたタイプスクリプト
プラットフォームクロスプラットフォームソフトウェア
タイプJavaScriptライブラリ
ライセンスMITライセンス
Webサイトredux .js .org

Reduxは、アプリケーションの状態を管理・一元化するためのオープンソースのJavaScriptライブラリです。ReactやAngularなどのライブラリと組み合わせてユーザーインターフェースを構築するのに最もよく使用されます。FacebookのFluxアーキテクチャに類似しており、Elmアーキテクチャもインスピレーションの源として挙げられています。[ 3 ] Dan AbramovとAndrew Clarkによって作成され、2016年半ば以降はMark EriksonとTim Dorrが主なメンテナーを務めています。

説明

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

歴史

Reduxは2015年にダン・アブラモフとアンドリュー・クラークによって開発されました。[ 4 ]アブラモフは、 React Europe [ 6 ]でのホットリロードに関するカンファレンス講演[ 5 ]の準備中に、最初のRedux実装を書き始めました。アブラモフは次のように述べています。「私は、ロジックを変更できるFluxの概念実証を作ろうとしていました。そして、それはタイムトラベルを可能にし、コード変更時に将来のアクションを再適用できるようにしました。」[ 7 ]

アブラモフは、Fluxパターンとreduce関数の類似性に衝撃を受けました。「私はFluxを、時間の経過とともにreduce操作を行うものとして考えていました。ストアは、これらのアクションに応じて状態を蓄積します。これをさらに発展させようと考えました。Fluxストアがストアではなく、reducer関数だったらどうなるでしょうか?」[ 4 ]

アブラモフは、Flux実装Flummoxの作者であるアンドリュー・クラークに協力を求めた。クラークは、Reduxのツールエコシステムの構築、一貫性のあるAPIの開発、ミドルウェアやストアエンハンサーなどの拡張ポイントの実装など、様々な面で貢献したとアブラモフは考えている。[ 4 ]

2016年半ばまでに、アブラモフはReactチームに加わり、主なメンテナーの役割をマーク・エリクソンとティム・ドールに引き継ぎました。[ 8 ]

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

2019年10月には、標準のRedux APIをラップして拡張する一連のユーティリティ(やなど)を提供することで、Reduxロジックの記述を簡素化するためにRedux Toolkitが導入されましたconfigureStore[ 10 ]createSlice

参照

参考文献

  1. ^初期リリースタグ
  2. ^ 「リリース – ReactJS / Redux」。GitHub
  3. ^ 「Prior Art - Redux」 . redux.js.org . 2024年4月28日.
  4. ^ a b c Abramov, Dan. 「Dan AbramovによるReactとFluxの歴史」 Three Devs and a Maybe . 2018年4月7日閲覧
  5. ^Dan Abramov - Live React: Hot Reloading with Time Travel at react-europe 2015」。YouTube
  6. ^ 「ReactEurope 2015 - Live React: タイムトラベルによるホットリロード。ReactEurope
  7. ^アブラモフ、ダン。「ダン・アブラモフとの進歩、好奇心、そして燃え尽き症候群タイラー・マクギニス.com 2018 年4 月 7 日に取得
  8. ^イディオマティックRedux:React-Reduxの歴史と実装
  9. ^ React v16.8: フックを使ったもの
  10. ^ Erikson, Mark (2019年10月23日). 「Idiomatic Redux: Redux Toolkit 1.0」 . Markの開発ブログ. 2025年8月9日閲覧