2016-05-06 12 views
1

私はFluxとその実装/ Reduxなどの「味」について学んだので、「Store」という言葉は私を満足させませんでした。私の意見では、「店舗」はFluxが作ったものとはまったく異なるものです。実際Flux/Redux:なぜ「ストア」という用語ですか?よりよい選択肢がありますか?

、私はタグのSO検索「store」、それは次のように育て:

ストアは、統合されたオブジェクトのセットのデータリポジトリです。これらのオブジェクトは、データベーススキーマで定義されたクラスを使用してモデル化されます。データストアには、データベースなどのデータレポジトリだけでなく、データを格納できるフラットファイルも含まれる、より一般的な概念です。

私はこの定義がJavaScriptに関連しないものであることを知っていますが、私にとっては論理的であり、「ストア」を理解する方法に近づいています。

フラックス(およびRedux)では、ストアは値/オブジェクトの任意のコレクションである状態を管理します。両方のライブラリには、実行する必要がある操作を記述するオブジェクトというアクションの概念が含まれています。 Flux Storeは、状態を変更するロジックを含むアクション・ハンドラーを使用してディスパッチャーにサブスクライブすることによってアクションを受け取ります。 Redux Storeにはdispatch(action)メソッドが含まれています。このメソッドは、指定されたReducerに渡されるActionオブジェクトを受け取ります.Requucerには、状態を変更するロジックが含まれています。どちらの場合でも、アクションが状態を変更すると、ストアはこの変更を関係者に通知します(例えば、ビューコンポーネント)。オプションで、アクションクリエイターを使用して、「ディスパッチ」アクションをより快適にし、エラーを起こしにくくすることができます。

(。私は上記の説明ではいくつかの詳細やニュアンスをスキップしている知っているが、それはここでは私のポイントではありません)

ので、フラックス/ Reduxの店は複数の目的を持っています

  1. 「アクションをRouter ':受信したActionを対応する' handler '/' reducer 'に転送します。
  2. 'Action Applier':アクションの結果を状態に適用します。
  3. 'State Observer':利害関係者に州の変更を通知します。

いずれの場合も、データの管理という概念はありません。それではなぜ "店"という言葉?それは実際に「保存している」とは何ですか?

私はあなたが良い選択肢と思われるものに非常に興味があります。今すぐこのライブラリを作成する場合は、このコンポーネントの名前を付ける最も良い方法は何でしょうか?

ありがとうございました!

アベル

答えて

0

は、それが実際には '保存' とは何ですか?

「store(s)」は、アプリケーションのUIの状態を表します。 Reduxのようなリスナーを持つ単一の不変のデータ構造と考えると、「ストア」という言葉は私にとって意味があります。

詳しくはniceuxドキュメントを参照してください。http://redux.js.org/docs/introduction/ThreePrinciples.html

関連する問題