2017-09-18 9 views
1

反応に還元反応を使用する理由は誰にもありますか?私は反応の中で非常に小さなコンポーネントを作ることを考えていたので、還元は必要ありません。 すべてのコンポーネントには、reduxのような独自の状態があります。反応に還元反応を使用する理由は何ですか?

あなたはどう思いますか?どのような経験がありますか? the Redux FAQsから

答えて

5

グレート段落:

ピート・ハント、反応するように初期の貢献の一つは、言う:あなたはフラックスを必要とするとき

あなたが知っていますよ。あなたがそれを必要とするかわからない場合は、 は必要ありません。

同様に、ダン・アブラモフ、再来のクリエイターの一つは、言う:

私はこれを修正したいと思います:リアクトあなたはバニラと 問題があるまで、Reduxのを使用しないでください。一般的に

あなたが時間の経過とともに変化するデータ の合理的な量を持っている場合、Reduxのを使用して、あなたは真実の単一のソースを必要とし、あなたは を見つけるのトップレベルですべてを保つように近づく コンポーネントの状態に反応していますもう十分ではありません。

ただし、Reduxの使用には のトレードオフがあることを理解することも重要です。それは コードを書くための最短または最速の方法になるようには設計されていません。 「 はいつ特定の状態スライスを変更し、データはどこから来たのですか」という質問に答えるのを助けることを目的としています。 予測可能な動作。アプリケーションの状態を平文データとして という名前で保存し、変更を明示的なオブジェクトとして記述し、更新を永久に適用する純粋な関数を使用して変更を処理します( )。これは で、しばしば "定型句"に関する苦情の原因です。これらの制約 は、開発者の努力を必要とするだけでなく、追加の可能性(例えば、ストアの永続性と の同期化)の数字 を開きます。

あなただけのリアクト学習している場合は、おそらくに 思考に焦点を当てるべきであるあなたが、より良い に反応理解し、どのようにReduxのは、あなたのアプリケーションに合うかもしれません一度Reduxのを見て、その後、最初に反応します。

最後に、Reduxは単なるツールに過ぎません。それは素晴らしいツールです。使用する大きな理由は ですが、 に使用したくない理由もあります。ツールに関する情報に基づいた意思決定を下し、 の各決定に含まれるトレードオフを理解してください。

2

Reduxは主にアプリケーションの状態管理に使用されます。 Reduxで実行されるアプリケーションで、アプリケーション全体の状態を単一の不変状態オブジェクトに入れます。これは、あなたの反応コンポーネントによって直接変更することはできません。

代わりに反応しているコンポーネントがアクションを生成し、それがreducer/sに渡され、状態が変更されます。

単一のコンポーネントを設計する場合は、間違いなくReduxを使用する必要はありません。より複雑なアプリケーションのためにReduxを検討することができます。

関連する問題