検索
ホームページウェブフロントエンドjsチュートリアル反応とは何ですか?反応は主に何をするのですか? (質疑応答)

この記事では、主に react についての基本的な理解を紹介します。そうでない場合は、この記事をご覧ください

1. React?

Facebook エンジニアが大規模なプロジェクトに取り組んでいたとき、MVC は非常に巨大なコード ベースと巨大な組織のためにすぐに非常に複雑になり、新しい機能を追加する必要があるたびに、機能の複雑さが増しました。システムが急激に増加し、コードが脆弱になり、予測不能になるため、Facebook は、システム内に多数のモデルと対応するモデルが存在する場合、MVC は大規模なアプリケーションには適さないと考えています。モデルを表示すると、その複雑さが急速に拡大し、特にモデルとビューの間で起こり得る双方向のデータ フローの理解とデバッグが非常に困難になります。

上記の理由に基づいて、Facebook は MVC では拡張ニーズを満たすことができないと考えており、上記の問題を解決するには、「コードをより予測しやすくするために特定の方法でコードを編成する」必要があると考えています。 Flux と React がそれを実装することを提案しました。

2、 Reactとは

React これは Facebook の内部プロジェクトとして誕生しました。同社は市場にあるすべての JavaScript MVC フレームワークに満足できなかったため、独自のフレームワークを作成して Instagram Web サイトを構築することにしました。作ってみて、このセットがとても便利だったので、2013年5月にオープンソース化しました

React は、ユーザー インターフェイスを構築するための JavaScript ライブラリです。 React は主に UI の構築に使用されると多くの人が考えています React は MVC の V (ビュー) です。 React は高いパフォーマンスと非常にシンプルなコード ロジックを備えており、ますます多くの人が注目し、使用し始めています。

3. React はどのような問題を解決しますか?

私たちは、大規模なアプリケーションの構築という 1 つの問題を解決するために React を構築しました 時間の経過とともに変化するデータを使用して大規模なアプリケーションを構築する

4. React の機能 1. −Reactは、アプリケーションの記述を容易にする宣言型パラダイムを採用しています。

2.効率的 −Reactは、

DOM

をシミュレートすることにより、DOMとの相互作用を最小限に抑えます。

3.柔軟 −Reactは、既知のライブラリやフレームワークとうまく連携します。

4.JSX − JSXです JavaScript構文の拡張機能。 Reactは開発には使用できません JSXですが、それを使用することをお勧めします。

5.コンポーネント React を通じてコン​​ポーネントを構築すると、コードが再利用しやすくなり、大規模プロジェクトの開発に適切に適用できます。

6.

一方向の応答データフロー − React は一方向の応答データ フローを実装することで重複コードを削減し、そのため従来のデータ バインディングよりもシンプルになっています。

5. React の主な原則

従来の Web アプリケーションでは、DOM 操作は通常直接更新されますが、DOM の更新は通常比較的高価であることがわかっています。 DOM に対する操作をできる限り減らすために、React は直接 DOM 操作を行う代わりに、DOM を更新するための別の強力な方法を提供します。これは VirtualDOM、つまり軽量の仮想 DOM であり、React によって抽象化されたオブジェクトであり、DOM がどのように見えるべきか、どのように表示されるべきかを記述します。このバーチャルを通じて DOM は実 DOM を更新し、この仮想 DOM が実 DOM の更新を管理します。 (さらに詳しく知りたい場合は、PHP 中国語 Web サイトReact Reference Manual の列にアクセスして学習してください)

なぜこの追加レイヤーの仮想 DOM 操作によって高速化できるのでしょうか? これは、React には diff アルゴリズムがあり、VirtualDOM を更新しても実際の DOM がすぐに影響を受けるとは限りません。React はイベント ループが終了するまで待機し、この diff アルゴリズムを使用して現在の新しい dom 表現を比較して最小ステップを計算します。前の DOM を更新します。

最も明白な利点は、React のいわゆる dom diff で、デルタレベルの dom 更新を実現できます。データの変更によって DOM が変更される場合、React はグローバルに更新しませんが、内部の dom diff アルゴリズムを通じて差分を計算し、最小の粒度で更新します。これは、React が優れたパフォーマンスを持っていることが知られている理由でもあります

6. コンポーネント コンポーネント

DOM ツリー上のノードは要素と呼ばれますが、ここでは Virtual DOM 上のコンポーネントと呼ばれます。 Virtual DOM のノードは、コンポーネントで構成される完全な抽象コンポーネントです。コンポーネントはで使用されます コンポーネントの存在により DOM diff の計算が効率化されるため、React ではこれは非常に重要です。

7. アプリケーション

Facebook、Yahoo、Redditなど、海外のアプリケーションがたくさんあります。 Sites-Using-React のリストは github で見ることができます: https://github.com/facebook/react/wiki/Sites-Using-React 中国にお住まいの方は調べてみましたが、比較的あるようです。現在、私が知っているのは杭州にある車です。一般に、ほとんどの技術は国内での応用が遅れています。

8. 比較分析

Backbone、Angular などの他の JS フレームワークと比較して、React はどうですか?

1. MVC フレームワークは、UI、つまりビュー層を中心に繰り返し呼び出されやすい Web コンポーネントを構築することです

2 つ目は、React はデータからビューへの一方向のレンダリングです。非双方向データバインディング

3. DOM オブジェクトを直接操作するのではなく、仮想 DOM を使用して、diff アルゴリズムを通じて最小限のステップで実際の DOM に適用します。

4. DOMを直接操作するのは不便です

9. React Nativeとの関係。 React Unique の極端な設計アイデアにより、革新的なイノベーション、優れたパフォーマンス、しかし非常にシンプルなコード ロジックが実現されています。そのため、これが Web の未来である可能性があると考え、ますます多くの人々がこれに注目し、使用し始めています。 開発用の主流ツール。

プロジェクト自体は、初期の UI エンジンからフロントエンドとバックエンドの Web アプリ ソリューションの完全なセットに至るまで、どんどん大きくなっていきました。派生した React Native プロジェクトにはさらに野心的な目標があり、それを Web アプリの作成に使用したいと考えています。 ネイティブアプリの書き方。それが実現できれば、インターネット業界全体がひっくり返るでしょう。なぜなら、同じグループの人々が UI を一度書くだけでよく、サーバー、ブラウザ、携帯電話で同時に実行できるからです。

この記事はここで終わります (さらに詳しく知りたい場合は、PHP 中国語 Web サイトの

React ユーザー マニュアル

列にアクセスして学習してください)。ご質問がある場合は、以下にメッセージを残してください。

以上が反応とは何ですか?反応は主に何をするのですか? (質疑応答)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

はい、JavaScriptのエンジンコアはCで記述されています。1)C言語は、JavaScriptエンジンの開発に適した効率的なパフォーマンスと基礎となる制御を提供します。 2)V8エンジンを例にとると、そのコアはCで記述され、Cの効率とオブジェクト指向の特性を組み合わせて書かれています。3)JavaScriptエンジンの作業原理には、解析、コンパイル、実行が含まれ、C言語はこれらのプロセスで重要な役割を果たします。

JavaScriptの役割:WebをインタラクティブでダイナミックにするJavaScriptの役割:WebをインタラクティブでダイナミックにするApr 24, 2025 am 12:12 AM

JavaScriptは、Webページのインタラクティブ性とダイナミズムを向上させるため、現代のWebサイトの中心にあります。 1)ページを更新せずにコンテンツを変更できます。2)Domapiを介してWebページを操作する、3)アニメーションやドラッグアンドドロップなどの複雑なインタラクティブ効果、4)ユーザーエクスペリエンスを改善するためのパフォーマンスとベストプラクティスを最適化します。

CおよびJavaScript:接続が説明しましたCおよびJavaScript:接続が説明しましたApr 23, 2025 am 12:07 AM

CおよびJavaScriptは、WebAssemblyを介して相互運用性を実現します。 1)CコードはWebAssemblyモジュールにコンパイルされ、JavaScript環境に導入され、コンピューティングパワーが強化されます。 2)ゲーム開発では、Cは物理エンジンとグラフィックスレンダリングを処理し、JavaScriptはゲームロジックとユーザーインターフェイスを担当します。

Webサイトからアプリまで:JavaScriptの多様なアプリケーションWebサイトからアプリまで:JavaScriptの多様なアプリケーションApr 22, 2025 am 12:02 AM

JavaScriptは、Webサイト、モバイルアプリケーション、デスクトップアプリケーション、サーバー側のプログラミングで広く使用されています。 1)Webサイト開発では、JavaScriptはHTMLおよびCSSと一緒にDOMを運用して、JQueryやReactなどのフレームワークをサポートします。 2)ReactNativeおよびIonicを通じて、JavaScriptはクロスプラットフォームモバイルアプリケーションを開発するために使用されます。 3)電子フレームワークにより、JavaScriptはデスクトップアプリケーションを構築できます。 4)node.jsを使用すると、JavaScriptがサーバー側で実行され、高い並行リクエストをサポートします。

Python vs. JavaScript:ユースケースとアプリケーションと比較されますPython vs. JavaScript:ユースケースとアプリケーションと比較されますApr 21, 2025 am 12:01 AM

Pythonはデータサイエンスと自動化により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、データ処理とモデリングのためにNumpyやPandasなどのライブラリを使用して、データサイエンスと機械学習でうまく機能します。 2。Pythonは、自動化とスクリプトにおいて簡潔で効率的です。 3. JavaScriptはフロントエンド開発に不可欠であり、動的なWebページと単一ページアプリケーションの構築に使用されます。 4. JavaScriptは、node.jsを通じてバックエンド開発において役割を果たし、フルスタック開発をサポートします。

JavaScript通訳者とコンパイラにおけるC/Cの役割JavaScript通訳者とコンパイラにおけるC/Cの役割Apr 20, 2025 am 12:01 AM

CとCは、主に通訳者とJITコンパイラを実装するために使用されるJavaScriptエンジンで重要な役割を果たします。 1)cは、JavaScriptソースコードを解析し、抽象的な構文ツリーを生成するために使用されます。 2)Cは、Bytecodeの生成と実行を担当します。 3)Cは、JITコンパイラを実装し、実行時にホットスポットコードを最適化およびコンパイルし、JavaScriptの実行効率を大幅に改善します。

JavaScript in Action:実際の例とプロジェクトJavaScript in Action:実際の例とプロジェクトApr 19, 2025 am 12:13 AM

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

JavaScriptとWeb:コア機能とユースケースJavaScriptとWeb:コア機能とユースケースApr 18, 2025 am 12:19 AM

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター