ホームページ >ウェブフロントエンド >jsチュートリアル >reduxはreactと組み合わせる必要がありますか?

reduxはreactと組み合わせる必要がありますか?

藏色散人
藏色散人オリジナル
2020-12-22 09:24:111863ブラウズ

Redux は、react と組み合わせる必要はありません。React のサポートに加えて、他の UI フレームワークもサポートしています。redux は、すべてのプロジェクトおよびすべてのアプリケーションに適しているわけではありません。react では、redux なしで実行できる場合に限ります。 、redux は使用しないでください。

reduxはreactと組み合わせる必要がありますか?

推奨事項: 「react ビデオ チュートリアル

redux は、主に状態管理を提供する JavaScript 状態コンテナーです。サーバー、クライアント、ネイティブ アプリケーションで実行できます。 React のサポートに加えて、他の UI フレームワークもサポートしており、サイズはわずか 2kb と小さいです。 React で使用する場合は、react-redux プラグインを使用して開発エクスペリエンスをさらに強化できます。

今日のトピックを始める前に、いくつか強調しておく必要がある点があります。

react の状態と redux の状態は、まったく無関係なものです。物事を混ぜ合わせる。 React の状態は、独自の変数を格納するためにクラス コンポーネントに存在する属性であり、redux の状態は、アプリケーション全体のストア内の特定の名前空間の状態です。この 2 つは互いに何の関係もありません。

Redux は React から独立しています。使用するかどうかを選択できます。Redux ベースのスキャフォールディングを使用していない場合、Redux を使用する場合は別途参照する必要があります。 React パッケージには redux はありません。

アプリケーションで redux を使用したい場合は、react と redux を関連付ける必要があります。react-redux というパッケージがあり、react と redux を関連付けるために使用されます。これは connect と呼ばれ、mapStateToProps と mapDispatchToProps という 2 つのメソッドを受け入れ、これら 2 つのメソッドは Redux の状態を React の props に注入します。

以上、redux の基礎知識のおさらいでしたが、次に本題に入ります。

redux の使用シナリオ

React アプリケーションに多くの状態があり、保守が難しい場合は、現時点では redux が適切な選択です。 (ここで言う状態は React の状態です)

データ共有が必要な場合、つまり複数の React コンポーネントが同じデータ ソースを使用する必要があります。

アプリケーションに現在ログインしているユーザーなど、グローバルなステータス制御が必要な場合は、どのコンポーネントのログインユーザー情報を使用することがあります。グローバル Redux に登録すると、どのコンポーネントが使用されているかを気にする必要はありません。使用するときは、グローバル redux から直接取得するだけで済みます。

特定のコンポーネントのビジネス ロジックが複雑すぎます。面倒すぎます。これらのデータをreactコンポーネントで処理し、ロジックの一部をreduxに分割することを考えます。

redux を使用すると、データと UI を分離できます。そのような効果を実現したい場合は、redux を使用してみてください。

redux の使用を減らす必要がある理由

Ruan Yifeng 兄弟のブログを読んだ学生は、次の文章を見たことがあるはずです。

#Redux が必要かどうかわからない場合は、必要ありません。

Redux が必要になるのは、React では解決できない問題が発生した場合のみです。

したがって、redux はすべてのプロジェクトやアプリケーションに適しているわけではありません。

redux を使用するには、大量のテンプレート コードを作成する必要があるため、状態の更新が非常に複雑になります。

redux を使いすぎるとアプリケーションの柔軟性が失われます

Redux は関数型プログラミング、不変性のアイデアなどをもたらします。これらの概念と連携するために、開発者は多くの「パターン」コード (定型文) を書く必要があります。 )」は面倒で反復的であるため、開発者は容認できません。もちろん、ボイラープレートを減らすことを目的としたハックはたくさんありますが、現段階では、Redux は本質的に扱いにくいと言えます;

  • Redux を使用する場合、アプリケーションはオブジェクトまたはオブジェクトを使用する必要があります。状態を説明するための配列、OMG !

  • Redux を使用すると、アプリケーションは変更を記述するためにプレーン オブジェクト、つまりアクションを使用する必要があります。

  • Redux を使用すると、アプリケーションは変更を処理するために純粋な関数を使用する必要があります。OMG!

アプリケーションでは、多くの状態をストアに抽象化する必要があるため、いつローカル状態を使用し、いつ Redux ストアにアクセスする必要があるのでしょうか?ただ楽しくビジネスを書くことはできません。変更には、アクション (アクション クリエーター)、リデューサーなどを記述する必要があります。

応答性と関数型スタイルを組み合わせた Mobx と比較すると、プログラミング エクスペリエンスは「割引」されています

上記はネットユーザーからの引用ですが、redux を使いすぎると多くのデメリットがあることがわかりますが、ここではデメリットを一つ一つ挙げることはしません。一般に、redux は redux なしでも使用できると思います。

これを読んだ後、一部の読者の頭の中にある疑問を解決したいと思います。「どのような場合に React の状態を使用する必要があるか」 ?「redux 状態を使用しますか?」 答えは明らかです。

結局のところ、redux は比較的成功したフレームワークです。その中のデータ フローも非常に古典的で、多くの問題を解決します。何事にも長所と短所があります。適切なトレードオフをする限り、私はできると信じています。より良いアプリケーションを作成します。

以上がreduxはreactと組み合わせる必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。