React は mvvm フレームワークですか?

WBOY
リリース: 2022-04-19 15:13:57
オリジナル
2587 人が閲覧しました

react は mvvm フレームワークではありません。 mvvm フレームワークには、ビューをマップするための vm オブジェクトが必要です。つまり、vm オブジェクトのプロパティが変更されると、対応するビュー部分もそれに応じて更新されます。react には vm オブジェクトはありませんが、属性と状態があり、全体を View として使用できるため、react は mvvm フレームワークではありません。

React は mvvm フレームワークですか?

このチュートリアルの動作環境: Windows 10 システム、react17.0.1 バージョン、Dell G3 コンピューター。

react は mvvm フレームワークですか?

react は mvvm フレームワークではありません

まず、mvvm の意味を理解してください。 vm はビューモードを意味します。

したがって、mvvm フレームワークには、ビューをマップするための vm オブジェクトが必要です。つまり、vm オブジェクトの属性が変更されると、対応するビュー パーツもそれに応じて更新されます。

より古典的なものは、knockoutjs で、主要な概念はビュー モデル、コンピューティング、ビュー テンプレートなどです。はい、実際には vue にはその影がたくさんあります。

それでは、react を見てみましょう。これには純粋な意味での vm オブジェクトはなく、属性と状態だけが含まれています。

React は MVVM の 2 番目の V (View) として使用できますが、MVVM フレームワークではありません。

MVVM の最も重要な機能の 1 つは、双方向バインディングです。

React にはこれがありません。一方向のデータ バインディングです。

React は、状態駆動型のビューを備えた一方向のデータ フロー ライブラリです。

React は全体として関数型の考え方に基づいています。コンポーネントは純粋なコンポーネントとして設計され、状態とロジックはパラメーターを通じて渡されます。そのため、React では一方向のデータ フローが存在します。推奨されます。 immutable を組み合わせてデータの不変性を実現します。

それでは、react を見てみましょう。これには純粋な意味での vm オブジェクトはなく、属性と状態だけが含まれています。プロパティと状態を使用してビューをマップします。では、属性と状態と vm の違いは何でしょうか?個人的には、vm オブジェクトは、値が外部から渡されるか、内部で定義されるかに関係なく、同等に扱われると思います。多くの場合、双方向バインディングの仕組みがあり、初期の flex がすごかったのかもしれませんが、後の mvvm フレームワークでは双方向バインディングの概念が取り入れられています。一方、React は属性の不変性と一方向のデータ フローを重視します。

内部状態は内部で制御されます。このようなデザインは、デザインの観点からはより複雑になる可能性がありますが、使用の観点からはより確実で明確になります。 React に精通している場合は、適切なコンポーネントの適切な状態を管理し、状態を合理的に階層化すると、アプリケーションの複雑さが大幅に軽減されます。そして、reduxにはコンテナコンポーネントと純粋な表示コンポーネントという非常に高度な概念があり、この設計思想を理解すれば、複雑なものを少数のコンポーネントに集中させることができ、ほとんどのコンポーネントが純粋な表示コンポーネントとなり、複雑さがさらに軽減されます。アプリケーションの性別。

推奨される学習: 「react ビデオ チュートリアル

以上がReact は mvvm フレームワークですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!