2017-04-12 15 views
1

@ngrxの優れた実践についてお聞きしたいと思います。私はFluxとReduxを数ヶ月前に発見しましたが、最近は実際に@ngrxを使用しています。私はこれが非常に広範で興味深い話題であることを認めなければならない。ngrx/example-appのコンテナとコンポーネント


説明:

を私はいくつかのチュートリアルと公式の例アプリのリポジトリを使用最初のステップのために(ここで見つけることができます - >ngrx/example-app)。 @ngrxの使い方とクリーンコードの使い方には感心しています。 ngrx/example-appに基づいて@ngrxを使って自分のアプリケーションを作成しましたが、重要な質問が1つあります。

example-appでは2種類のコンポーネントが見つかります。最初はsrc/containersで、次にsrc/componentsディレクトリにあります。 私は、店舗を使用しているコンテナが@ Inputによって渡されていることを理解しています。


質問: この構造(アプリへの影響)の理由は何ですか?すべてのアプリケーションコンポーネントがApp Storeを使用できますか?

+2

https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0 – cartant

答えて

1

コンポーネントは(別名ダムまたはプレゼンテーション)アプリのコンテキストを認識すべきではない、彼らは非常に「汎用」でなければなりません。 そのため、NGRXストアを使用せずに残りのアプリケーションにloosely coupledを残し、@Inputと@Outputを介してのみ親と通信してください。 これは、他のアプリでさえ、さまざまな目的のために、アプリのさまざまな部分でそれらを再利用できるようにします。

コンポーネントがNGRX店にアクセスすることなく働くことができない場合は、それを使用し、それに相互作用されているコンテキストを意識スマートコンテナ、する必要があります。

関連する問題