これは反応に関する特定の質問ではありません。私はAurelia/AngularjsでFluxを実装することを考えています。Fluxでディスパッチャが必要なのはなぜですか?
フラックスを読んでいる間、私はディスパッチャのステップの必要性を確信していません。コンポーネントがストアを直接呼び出してデータを更新および取得できないのはなぜですか?そのアプローチに何か問題はありますか?
たとえば、新しい車を作成したり、車を更新したり、車のリスト(CRUD API上の薄い層)を取得できるCarStore
がある場合は、直接呼び出してリストを取得/更新することができますコンポーネントの店舗です。ストアはシングルトンなので、リストが更新されるたびに、car-grid
は新しいアイテムを自動的に取得する必要があります。このシナリオでディスパッチャを使用する利点は何ですか?
なぜコンポーネントでその依存関係を管理できないのですか?たとえば、お互いに依存する複数のストアを更新する場合は、約束を使用することができます。 – Sayem
たとえば、 'CartStore'に追加されたときに' WishlistStore'から車を取り除く必要があります。あなたのコンポーネントからは、約束を返す 'CartStore'に車を追加することができ、成功したら' WishlistStore'を更新します。 – Sayem
あなたはそういうことができると思いますが、Fluxはあなたにディスパッチャーと機能を提供します。極端な場合、純粋なJavaScriptを使用してすべてを行うことができます。フレームワークは、簡単に、かつ/またはより整理しやすくするためのツールとパターンを提供します。 –