ReactJSのHello worldで解説_基礎知識
この記事では、ユーザー インターフェイスを構築するために Facebook エンジニアによって開発された Javascript ライブラリである React.js のコード例と高レベルの概念を説明します。したがって、これらの概念については、次の記事で詳しく説明します。あなたは ReactJS の専門家であり、これらのコードを改善する必要があると感じています。提案を私に書いてください。適時にこの記事/コードを更新します
コード例の投稿を続ける前に、特に言及しなければなりません: 最近、AngularJS でコードを書いているので、初心者にとって ReactJS を学ぶのは少し難しいでしょう。今では、それらが役に立っていることを認めなければなりません。作業に関しては大きな違いがあります。それらの主な違いを比較する別のブログ記事を作成します。
ただし、大まかに言うと、私が ReactJS を学習する際に少し「急な」学習パスを選択した理由をいくつか示します。
- コンポーネント指向: ReactJS はコンポーネント指向です。つまり、UI 要素をコンポーネントとして扱う必要があります。興味深いことに、コンポーネントは構成可能です。これは、コンポーネントが 1 つ以上の内部コンポーネントを持つことができることを意味します。以下のコードはこれを示しています
- JSX 構文: 興味深い JSX (XML のような) 構文を使用してコードを記述します。 JSX トランスレーター (プリコンパイラー) は、この構文構造を明示的な JavaScript に変換するために使用されます
イベント プロキシ モデル: イベント委任モデルに従ってイベントをキャプチャします
コードに示されている重要な概念をいくつか示します:
- コンポーネント
- イベントエージェント
- JSX 構文
以下は、コンポーネントが実装した内容の簡単な説明です
- ユーザーがユーザー名を入力できる入力ボックス要素。次の記事で説明するように、この入力ボックスは実際には「UserName」コンポーネント
です。- div レイヤー要素。「Hello, userName」を表示するために使用されます。次の記事で説明しますが、この div レイヤーは実際には「HelloText」コンポーネント
です。デザインは次のとおりです。さらに、以下の概念を表すコードを見つけてください。
SayHello: コンポーザブル コンポーネント
SayHello は 2 つのコンポーネントを含む親コンポーネントです。この親コンポーネントは 2 つの内部コンポーネントで構成されています。 1 つのコンポーネントは UserName で、ユーザーに名前を入力する機能を提供するために使用され、もう 1 つのコンポーネントは HelloText で、Hello, world などのテキストを表示するために使用されます。この親コンポーネントは、次の 3 つの異なる API を定義します:
- getInitialState
- ハンドル名送信
- render (これは必須のインターフェースです。コンポーネントは、応答としてコンポーネントをレンダリングする方法を React に指示するために render を定義する必要があります)
/ // This is the parent component comprising of two inner components // One of the component is UserName which is used to allow user to enter their name // Other component is HelloText which displays the text such as Hello, World // var SayHello = React.createClass({ // This is used to set the state, "data" which is // accessed later in HelloText component to display the updated state // getInitialState: function() { return {data: 'World'} }, // It is recommended to capture events happening with any children // at the parent level and set the new state that updates the children appropriately handleNameSubmit: function(name) { this.setState({data: name}); }, // Render method which is comprised of two components such as UserName and HelloText // render: function() { return( <div> <UserName onNameSubmit={this.handleNameSubmit}/> <HelloText data={this.state.data}/> </div> ); } });
UserName コンポーネント
UserName コンポーネントには次の 2 つのメソッドがあります:
- handleChange: onChange イベントをキャプチャするために使用されます
- render: コンポーネントのレンダリングに使用されます
var UserName = React.createClass({ handleChange: function() { var username = this.refs.username.getDOMNode().value.trim(); this.props.onNameSubmit({username: username }); this.refs.username.getDOMNode().value = ''; return false; }, render: function() { return( <form role="form" onChange={this.handleChange}> <div className="input-group input-group-lg"> <input type="text" className="form-control col-md-8" placeholder="Type Your Name" ref="username"/> </div> </form> ); } });
HelloText コンポーネント
HelloText コンポーネントには、コンポーネントをレンダリングするためのメソッドが 1 つだけあります
render:包含了展示HelloText组件内容的代码 var HelloText = React.createClass({ render: function() { return ( <div> <h3>Hello, {this.props.data}</h3> </div> ); } });
完全なコードを入手したい場合は、github hello-reactjs ページ にコードを投稿しました。お気軽にコメントやご提案をお寄せください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











React と RabbitMQ を使用して信頼性の高いメッセージング アプリケーションを構築する方法 はじめに: 最新のアプリケーションは、リアルタイム更新やデータ同期などの機能を実現するために、信頼性の高いメッセージングをサポートする必要があります。 React はユーザー インターフェイスを構築するための人気のある JavaScript ライブラリであり、RabbitMQ は信頼性の高いメッセージング ミドルウェアです。この記事では、React と RabbitMQ を組み合わせて信頼性の高いメッセージング アプリケーションを構築する方法を紹介し、具体的なコード例を示します。 RabbitMQ の概要:

ReactRouter ユーザーガイド: フロントエンドルーティング制御の実装方法 シングルページアプリケーションの人気に伴い、フロントエンドルーティングは無視できない重要な部分になりました。 React エコシステムで最も人気のあるルーティング ライブラリとして、ReactRouter は豊富な機能と使いやすい API を提供し、フロントエンド ルーティングの実装を非常にシンプルかつ柔軟にします。この記事では、ReactRouter の使用方法と具体的なコード例を紹介します。 ReactRouter を最初にインストールするには、次のものが必要です

PHP、Vue、React: 最適なフロントエンド フレームワークを選択するには?インターネット技術の継続的な発展に伴い、フロントエンド フレームワークは Web 開発において重要な役割を果たしています。 PHP、Vue、React は 3 つの代表的なフロントエンド フレームワークであり、それぞれに独自の特徴と利点があります。使用するフロントエンド フレームワークを選択するとき、開発者はプロジェクトのニーズ、チームのスキル、個人の好みに基づいて情報に基づいた決定を下す必要があります。この記事では、PHP、Vue、React の 3 つのフロントエンド フレームワークの特徴と用途を比較します。

Java フレームワークと React フレームワークの統合: 手順: バックエンド Java フレームワークをセットアップします。プロジェクト構造を作成します。ビルドツールを設定します。 React アプリケーションを作成します。 REST API エンドポイントを作成します。通信メカニズムを構成します。実際のケース (SpringBoot+React): Java コード: RESTfulAPI コントローラーを定義します。 React コード: API によって返されたデータを取得して表示します。

React を使用して応答性の高いバックエンド管理システムを開発する方法 インターネットの急速な発展に伴い、日々の業務を処理するために効率的で柔軟で管理が容易なバックエンド管理システムを必要とする企業や組織が増えています。現在最も人気のある JavaScript ライブラリの 1 つである React は、ユーザー インターフェイスを構築するための簡潔で効率的かつ保守しやすい方法を提供します。この記事では、React を使用して応答性の高いバックエンド管理システムを開発する方法と、具体的なコード例を紹介します。まず React プロジェクトを作成します

VUE.JSは、中小規模のプロジェクトや迅速な反復に適していますが、Reactは大規模で複雑なアプリケーションに適しています。 1)Vue.jsは使いやすく、チームが不十分な状況やプロジェクトスケールが小さい状況に適しています。 2)Reactにはより豊富なエコシステムがあり、高性能で複雑な機能的ニーズを持つプロジェクトに適しています。

ReactはJSXとHTMLを組み合わせてユーザーエクスペリエンスを向上させます。 1)JSXはHTMLを埋め込み、開発をより直感的にします。 2)仮想DOMメカニズムは、パフォーマンスを最適化し、DOM操作を削減します。 3)保守性を向上させるコンポーネントベースの管理UI。 4)国家管理とイベント処理は、インタラクティブ性を高めます。

React には、イベント処理関数、useEffect や useCallback、上位コンポーネントなどのクロージャがあります。詳細な紹介: 1. イベント処理関数のクロージャ: React では、コンポーネント内でイベント処理関数を定義すると、関数はクロージャを形成し、コンポーネントのスコープ内のステータスとプロパティにアクセスできます。このようにして、コンポーネントの状態とプロパティをイベント処理関数で使用して対話型ロジックを実装できます; 2. useEffect や useCallback のクロージャなど。
