この記事では、React の使用方法を紹介します。React が UI をレンダリングする方法には、必要な友人が参照できるようにするための値があります。
01. React がインターフェイスをレンダリングする方法
React のような大規模なフロントエンド フレームワークが登場する前は、UI 要素をレンダリングする方法は String テンプレート を使用することでした。 React では、JavaScript オブジェクト を使用して UI 要素をレンダリングします。
前の章で述べたように、React は、頻繁な DOM 操作によって消費されるフロントエンドのパフォーマンスを節約するために、仮想 DOM の概念を提案しました。ここで作成した JavaScript オブジェクトは、「ページがどのように見えるか」を記述するために使用されます。 " 仮想 DOM ノードはどのようなものですか? 「仮想 DOM」は最終的にどのようにして「本物の DOM」に変換され、ブラウザに表示されるのでしょうか?ここでの複雑な作業 (DOM ツリーの操作、ノードの追加) は React によって行われます。
まず、JavaScript オブジェクトを通じて仮想 DOM ノード (つまり React 要素) を作成する方法を見てみましょう:// 为了创建一个 React 元素,我们需要使用 React.createElement API const element = React.createElement( 'h1', {className: 'greeting'}, 'Hello, world!' );API は最終的に次の形式で JavaScript オブジェクトを返します:
const element = { type: 'h1', props: { className: 'greeting', children: 'Hello, world' } };React はこの JavaScript を提供します生成された仮想 DOM ツリー内の場所を見つけて、最終的にブラウザ内の実際の DOM ツリーとマージしてビューをレンダリングします。 ただし、実際の開発では
React.createElement
API を使用することはほとんどありませんが、次のような React 要素を作成します:
const element = ( <h1> Hello, world! </h1> );
React.createElement
API,而是像下方这样创建 React 元素:<p></p> const element = <h1 id="Hello-world">Hello, world</h1>; // 使用 ReactDOM.render API ReactDOM.render( element, document.getElementById('root') );
这种创建方式是通过一种叫做 JSX
的 JavaScript 语法扩展实现的,而对于 JSX
的概念在这里我就不再进一步阐述了,你大可以将它理解为一种简洁,高效创建 React 元素的语法糖,用来更加优雅的构建整个应用的虚拟 DOM。
值得一提的是,JSX
并不是 React 框架的一部分(这源于 React 代码组织上尽量分而治之的哲学),因此 React 并不像负责合并虚拟DOM与真实DOM那样,负责将由 JSX 语法写成的代码转化为使用了 React.createElement
API 的 JavaScript 对象。
那谁来做这件事呢?答案是 Babel
。而通常,我们使用 webpack
来打包我们的 JavaScript代码并输送至 Babel
进行转译。现在你明白了,为什么 React
,webpack
和Babel
总是像连体婴儿一样出现在一起。
到目前为止,我们已经知道如何创建 React 元素了,但实际上我们只是“创建“而已,离元素被真正展现在浏览器上,还查了关键的一步”渲染“。
在这里我们加快脚步,想要将之前创建好的 React 元素渲染出来,我们需要使用如下代码:
import React form 'react' import ReactDOM form 'react-dom' function Button(props) { return <button>{props.buttonName}</button> }
没错,id 为 root
この作成方法は JSX の JavaScript 構文拡張機能が実装されています。ここでは、<code>JSX
の概念については詳しく説明しません。これは、React 要素を作成するためのシンプルで効率的な方法として理解できます。アプリケーション全体の仮想 DOM をよりエレガントに構築します。 JSX
は React フレームワークの一部ではないことに言及する価値があります (これは、React コード構成における可能な限り分割統治の哲学に由来しています)。そのため、React は、仮想 DOM と実際の DOM は、React.createElement
API を使用して、JSX 構文で記述されたコードを JavaScript オブジェクトに変換します。
それでは誰がやるのでしょう?答えは バベル
です。通常、webpack
を使用して JavaScript コードをパッケージ化し、それを翻訳のために Babel
に送信します。 React
、webpack
、Babel
がシャム双生児のように常に一緒に表示される理由がわかりました。 ここまでで、React 要素の作成方法はすでにわかりましたが、実際には要素が実際にブラウザーに表示される前に、重要なステップである「
」も確認します。
ここで、以前に作成した React 要素をレンダリングしたい場合は、次のコードを使用する必要があります: rrreeeはい、root
の ID を持つ DOM 要素が全体になります。 virtual DOM ツリーのルート ノード。これまでのところ、React 要素を仮想 DOM ノードに変換し、ブラウザ上で要素をレンダリングするプロセス全体を習得しました。ただし、React を使用して視覚要素をレンダリングできるだけでは、React の価値を実現することはできません。 React は大規模なフロントエンド フレームワークとして存在することを忘れないでください (ただし、他の大規模なフロントエンド フレームワークと比較すると、そのコンポーネントは完全ではありません)。 React の真の価値は次のとおりです。 React 要素を使用してさまざまな実装を行う。複雑なビジネス ロジックを簡潔かつ効率的に処理します 。 どうやってやるの?答えは、
を使用することです。 02. React コンポーネント React コンポーネントは、多数の視覚要素をパッケージ化する機能
を提供するだけでなく、対応する一連のインタラクティブな動作をパッケージ化する機能も提供します。次のように言えます:
React コンポーネントは React アプリケーションの基礎です。
では、
React コンポーネントとは何ですか? React コンポーネントは、プロパティと呼ばれる一連のマテリアルを受け取り、最終的に React 要素/コンポーネントを生成 (返す) するファクトリーのようなものであると想像できます。
🎜別の言い方をすると、React コンポーネントは本質的に、一連のパラメーターを受け取り、React 要素/コンポーネントを返す JavaScript 関数です。どのように書かれているか見てみましょう: 🎜rrreee🎜ほら、React コンポーネントは、パラメータを受け取って UI 要素を返す、前に述べたコンポーネント化のアイデアに完全に準拠しています。 🎜🎜コンポーネント化はモジュール性と再利用性を意味するため、コンポーネントの観点から React アプリケーションの構築について考えることは素晴らしいアイデアです。コンポーネント クラスは、コンポーネントを生産する工場のインスタンスのようなもので、「単一応答原則」と「DOT」原則に完全に準拠しています。 🎜🎜 React の公式ドキュメントでは、React API の大部分がコンポーネントに関するものです。したがって、コンポーネントは React において非常に重要な概念です。本質的に、コンポーネントは 🎜React🎜 によって与えられる主要なカプセル化単位です。コンポーネントを使用すると、複雑な対話ロジックとビルディング ブロックのようなビジュアル インターフェイスを備えた大規模なアプリケーションを迅速に構築でき、アプリケーション内の各ビジュアル ユニットには非常に明確な責任があります。 🎜大規模なアプリケーションを構築する際に React の価値を理解していただければ幸いです。React を使用すると、アプリケーションの残りの部分に誤って影響を与えることなく、アプリケーションの小さな部分に集中できます (つまり、各コンポーネントが「高結合、低結合」の原則に準拠します)。 )。 React を使用すると、明確でエレガントなコードを簡単に作成できます。
03. 概要
最後に、React でコンポーネントを使用してインターフェイスをレンダリングする 2 つの利点をもう一度まとめておきます:
-
再利用が簡単: いつでもどこでもコンポーネントを呼び出すことができます。
便利なカスタマイズ : コンポーネントにさまざまな属性を与えることで、さまざまな UI 要素を取得できます。ネイティブ Echarts コンポーネントの紹介
以上がReact の使用: React が UI をレンダリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

WebStorm Mac版
便利なJavaScript開発ツール
