2017-08-26 6 views
0

処理するデータが異なるコンポーネント間で共有されていない場合でも、すべてのAPI呼び出しにReduxを使用する必要がありますか? 例:ユーザーリストコンポーネントは、ユーザーの一覧を取得してインターフェイスに表示する必要があります。これらのユーザーは、このコンポーネントの外部では使用されません。 API呼び出しはアクション/縮小/効果で実装する必要がありますか?Reduxを実装するには?

+0

サンプルアプリケーションhttps://github.com/ngrx/platform/blob/master/example-app/README.mdをチェックして動作を確認してください。 – Kuncevic

答えて

-1

それはもちろん、あなたのターゲットに依存します。 Angularを試したいのであれば、あなたの選択ではありません。あなたのアプリが成長することを計画しているなら、それは悪い考えではありません。実際には、「機能別モジュール」構造を使用する場合は、将来、ngrxをプロジェクトに簡単に追加することができます。

Reduxは状態管理についてです。たぶん、あなたはそれが今や不幸だと思うかもしれません。しかし、あなたのアプリが成長することを確認してください。あなたはより多くのモジュールを取得し、すべてを扱うのがより難しくなります。

また、reduxはアプリケーションに構造を追加します。もし新しい人がチームに来たら、チームがレフィックスを使うならば、新しい人はプロジェクトに簡単に乗ることができると私は信じています。後輩であっても、redux/ngrxについて読むことができ、アプリケーションでのデータの流れを簡単に追跡できます。実際には、たとえ反応がdevチームが角チームになっても、あるいはその逆です。少なくとも私のために:私と私の同僚は簡単に問題を議論して問題を解決することができますが、私はAngularを使い、Reactを使います。

API呼び出しのreduxプロセスに従うべきですか?まあ。技術的にはこれを無視することができます。しかし、なぜ? Reduxには多くの便利なツールがあります。たとえばredux開発ツールです。アクションを使用してapi呼び出しを行う場合、Redux開発ツールでもアクションが表示されます。アクションのリスト、アクションのペイロード(サーバから受け取ったもの)、このアクションがあなたの状態をどのように変えたかを見ることができます。

+0

ありがとうございます。 Reduxプロジェクトでは、すべてのAPI呼び出しでreduxプロセスを実行する必要がありますか? –

+0

なぜですか? Reduxは国家管理に関するものです。サーバーから取得したデータ、イベントは、アプリの状態の一部です。ではなぜこの利益を無視すべきですか?あなたはログを持っている、あなたはreduxのためにデータの明確な方法を持っています。 –

+0

私は多くのAPI呼び出しを持っています。多くの場合、単一のコンポーネントを構築するだけであり、データは他のコンポーネントと共有されません。これをすべて還元するのは難しいでしょう。 –

0

データとロジックがすべて自己完結している場合、単純に不要な複雑さをもたらすので、reduxパターンを使用する必要はありません。

https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367

+0

@Meekerと完全に同意します。将来的に規模を変更することを考えている場合は、Reduxをプロジェクトの代替手段と考えることができます。単一のコンポーネントアプリケーションを作成するだけの場合は、Reduxを使用しないこともお勧めします。 –

+0

はい、それは明らかです。しかし、私の質問です:Reduxプロジェクトでは、コンポーネント間で共有されていないデータの場合でも、すべてのAPI呼び出しはアクション/レジューサー/エフェクトプロセスに従わなければなりません。私はそのポストで例を挙げました。ありがとう。 –

+0

いいえ、そうではありません。実際には、共有可能で再利用可能でメンテナンスしやすいコンポーネントが必要な場合は、悪い習慣です。 – Meeker

0

まずReduxとは何ですか?

Reduxのは、JavaScriptのアプリケーションのアプリケーション状態管理部であり、そして アプリケーションで 一方向のデータフローを有することによってフラックスアーキテクチャのコア原則に保ちます。 Reduxアプリケーションのグローバルな読み取り専用アプリケーションの状態は、 です。この状態は、 制御された方法でそれを更新するアクションのコレクションまたはストリームを「還元」することによって と計算されます。

Redux In Angular?

Reduxの状態マネージャは非常に好評されていると@ngrxの 作成、同じ 状態管理の方法と同様に におけるミドルウェアやツールのいくつかを実装したモジュールのセットにインスピレーションを与えてきましたReduxエコシステム。 @ngrxは、観測可能なパラダイムに大きく傾いているため、角度とRxJSを と一緒に使用するために作成されました。あなたは上記を参照 コンポーネントの両方がアップグレードのメリットは、今私たちが注目のモジュールに

どこにそれを使用するを使用してngrxに直接怠惰 読み込みをサポートしている(V4に更新)ngrxストア を使用して管理されていますか?、あなたはFacebookの ウェブサイト@見ればあなたはナビゲーションバー、左側のパネルのような複数のコンポーネントが表示されますので、P:

小さなシナリオでは、私はあなたがFacebookの権利を使用している場合があります期待しています

その使用は非常に明確になります チャットボックスなど新しいメッセージがあなたに配信されたのはいつも不思議です これらは同時にどのように更新されますか?彼らがsrevicesまたは Event Emittersに行くと、彼らはスパゲッティコードの海に包まれるでしょう。 実装しても、デバッグや変更が非常に難しくなります。

ngrx状態管理を使用すると、すべての情報が に格納され、@ のデータが変更されたときにすべてのコンポーネントが識別されます。スタックオーバーフローからこの答えを見てください は、より多くの概念をクリアします。

Reduxを実装する方法は?

角型の2つの選択肢はng-reduxで、その他はngrxです。私は個人的にその広大なコミュニティと素晴らしいアイデアを持つngrxに似ています。

Ngrx v4にカウンタアプリケーションとリストを追加するには、このlinkをご覧ください。

ngrxスイート全体の実装を使用してアプリケーション全体を見たい場合は、this git repoを参照してください。これはlinkに配置されています。

これは、gh-pageからのものです。ここで私は角コンセプトの言葉を広めています。

関連する問題