「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
Fluxアーキテクチャに基づいて設計されたJavaScriptフレームワーク
特徴 †
- 上記のFluxの影響を受けていることから、データの流れは一方向になる。
三原則 †
Single source of truth †
状態は一つのStoreのobjectツリーに格納される。
State is read-only †
Actionを発火することが、状態を更新する唯一の方法。
Changes are made with pure functions †
状態がActionによってどのように変更されるか、
定義するために純粋な(副作用のない)Reducerを書く。
ドメイン †
Actions †
View等から発火されて作られるオブジェクト
{
type: "アクションの種類を一意に識別できる文字列またはシンボル",
payload: "アクションの実行に必要な任意のデータ",
}
Reducers †
- FluxのDispatcherの代替。
- 以前の状態とアクションを組み合わせて、新しい状態を生み出す。
- 関数型プログラミングにおいて畳み込み演算を意味する。
副作用のない関数
f(state, actions) => newState
Store †
- シングルトンで、インスタンスの管理不要。
- 状態(state)を格納する。
- アプリケーションに必ず1つしか設けらない。
- 1つのStoreですべての状態を管理する。
- イメージとしては「でっかいJSONの塊」。
View †
概要 †
Fluxの場合 †
Reactコンポーネント自身が個別に状態管理をする。
Reduxの場合 †
- 状態管理する専用の場所(Store)で状態管理する。
- Reactコンポーネントはそれを映すだけに徹する。
参考 †
詳細 †
参考 †
Qiita †
マイクロソフト系技術情報 Wiki †