JavaScriptのReactフレームワークでJSXの構文を学ぶ入門チュートリアル_基礎知識
JSX とは何ですか?
React でコンポーネントを記述する場合、通常は JSX 構文が使用されます。一見すると、XML タグが Javascript コードに直接記述されているように見えますが、実際には、これはすべての XML タグが JSX 変換ツールになります。もちろん、純粋な Javascript コードで直接記述することもできますが、JSX を使用すると、コンポーネントの構造とコンポーネント間の関係がより明確になります。
var MyComponent = React.createClass({/*...*/}); var myElement = <MyComponent someProperty={true} />; React.render(myElement, document.body);
例:
var Nav = React.createClass({/*...*/}); var app = <Nav color="blue"><Profile>click</Profile></Nav>;
は次のように変換されます:
var Nav = React.createClass({/*...*/}); var app = React.createElement( Nav, {color:"blue"}, React.createElement(Profile, null, "click") );
言い換えると、XML タグを記述するときは、基本的に React.createElement メソッドを呼び出して ReactElement オブジェクトを返します。
ReactElement createElement( string/ReactClass type, [object props], [children ...] )
このメソッドの最初のパラメータは、HTML 標準内の要素を表す文字列、または前にカプセル化したカスタム コンポーネントを表す ReactClass 型のオブジェクトにすることができます。 2 番目のパラメーターは、この要素のすべての固有属性 (つまり、渡された後に基本的に変更されない値) を保存するオブジェクトまたはディクショナリです。 3 番目のパラメーターから始まり、後続のパラメーターは要素の子要素とみなされます。
JSX コンバータ
JSX 構文のコードを純粋な Javascript コードに変換するには、さまざまな方法があります。インライン コードや HTML コード、または変換されていない外部ファイルの場合は、script タグに type="text" を追加する必要があります。ただし、この方法は実稼働環境での使用はお勧めできません。オンラインになる前にコードを変換することをお勧めします。
npm install -g react-tools
そして、コマンド ライン ツールを使用して変換します (具体的な使用法については、jsx -h を参照してください):
jsx src/ build/
gulp などの自動化ツールを使用する場合は、対応するプラグイン gulp-react を使用できます。
HTML テンプレートでの JS の使用
HTML テンプレートで JS を使用すると、JS コードを波括弧で囲むだけで非常に便利です。
var names = ['Alice', 'Emily', 'Kate']; React.render( <div> { names.map(function (name) { return <div>Hello, {name}!</div> }) } </div>, document.getElementById('example') );
コンパイルすると次のようになります:
var names = ['Alice', 'Emily', 'Kate']; React.render( React.createElement("div", null, names.map(function (name) { return React.createElement("div", null, "Hello, ", name, "!") }) ), document.getElementById('example') );
中括弧は実際には変数出力式であることに注意してください。JSX は最終的に中括弧内の内容を React.createElement の 3 番目のパラメーターとして直接渡します (変更せずに直接渡されます)。の式を入れることができ、第 3 パラメータとして直接使用できない書き方は誤りであるため、次のような書き方は誤りです。
React.render( <div> { var a = 1; names.map(function (name) { return <div>Hello, {name}!</div> }) } </div>, document.getElementById('example') );
中括弧内の内容が 3 番目のパラメーターに直接配置されているのは明らかであり、構文が間違っているためです。
これも間違っています:
React.render( <div> { var a = 1; } </div>, document.getElementById('example') );
React.createElement(“div”, null, var a = 1;) は構文エラーであるためです。
そうすれば、中括弧内の js 式がセミコロンで終わることができない理由も理解できます。
属性に JS 変数を出力する場合、引用符を追加することはできないことに注意してください。引用符を追加しないと文字列として扱われ、解析されません。
次のようになります:
<a title={title}>链接</a>
HTML タグを使用する
HTML 標準に存在する要素を作成するには、HTML コードを直接記述するだけです。
var myDivElement = <div className="foo" />; React.render(myDivElement, document.body);
ただし、JSX 構文の class と for の 2 つの属性は最終的に純粋な Javascript に変換されるため、className と htmlFor は Javascript DOM と同様に使用する必要があることに注意してください。
もう 1 つのポイントは、HTML 標準内で要素を作成する場合、JSX コンバータはこれらの非標準属性を破棄するため、カスタム属性を追加する必要がある場合は、これらのカスタム属性の前に data- プレフィックスを追加する必要があります。
<div data-custom-attribute="foo" />
名前空間コンポーネント
たとえば、コンポーネントを開発するときに、コンポーネントに複数のサブコンポーネントがある場合、これらのサブコンポーネントを親コンポーネントの属性として使用する場合は、次のように使用できます。
var Form = MyFormComponent; var App = ( <Form> <Form.Row> <Form.Label /> <Form.Input /> </Form.Row> </Form> );
var MyFormComponent = React.createClass({ ... }); MyFormComponent.Row = React.createClass({ ... }); MyFormComponent.Label = React.createClass({ ... }); MyFormComponent.Input = React.createClass({ ... });
var App = ( React.createElement(Form, null, React.createElement(Form.Row, null, React.createElement(Form.Label, null), React.createElement(Form.Input, null) ) ) );
JavaScript 式
JSX 構文で Javascript 式を記述するには、三項演算子を使用した次の例のように、{} を使用するだけで済みます。
// Input (JSX): var content = <Container>{window.isLoggedIn ? <Nav /> : <Login />}</Container>; // Output (JS): var content = React.createElement( Container, null, window.isLoggedIn ? React.createElement(Nav) : React.createElement(Login) );
// This JSX: <div id={if (condition) { 'msg' }}>Hello World!</div> // Is transformed to this JS: React.createElement("div", {id: if (condition) { 'msg' }}, "Hello World!");
if (condition) <div id='msg'>Hello World!</div> else <div>Hello World!</div>
传播属性(Spread Attributes)
在JSX中,可以使用...运算符,表示将一个对象的键值对与ReactElement的props属性合并,这个...运算符的实现类似于ES6 Array中的...运算符的特性。
var props = { foo: x, bar: y }; var component = <Component { ...props } />;
这样就相当于:
var component = <Component foo={x} bar={y} />
它也可以和普通的XML属性混合使用,需要同名属性,后者将覆盖前者:
var props = { foo: 'default' }; var component = <Component {...props} foo={'override'} />; console.log(component.props.foo); // 'override'

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









顔の検出および認識テクノロジーは、すでに比較的成熟しており、広く使用されているテクノロジーです。現在、最も広く使用されているインターネット アプリケーション言語は JS ですが、Web フロントエンドでの顔検出と認識の実装には、バックエンドの顔認識と比較して利点と欠点があります。利点としては、ネットワーク インタラクションの削減とリアルタイム認識により、ユーザーの待ち時間が大幅に短縮され、ユーザー エクスペリエンスが向上することが挙げられます。欠点としては、モデル サイズによって制限されるため、精度も制限されることが挙げられます。 js を使用して Web 上に顔検出を実装するにはどうすればよいですか? Web 上で顔認識を実装するには、JavaScript、HTML、CSS、WebRTC など、関連するプログラミング言語とテクノロジに精通している必要があります。同時に、関連するコンピューター ビジョンと人工知能テクノロジーを習得する必要もあります。 Web 側の設計により、次の点に注意してください。

株式分析に必須のツール: PHP および JS でローソク足チャートを描画する手順を学びます。特定のコード例が必要です。インターネットとテクノロジーの急速な発展に伴い、株式取引は多くの投資家にとって重要な方法の 1 つになりました。株価分析は投資家の意思決定の重要な部分であり、ローソク足チャートはテクニカル分析で広く使用されています。 PHP と JS を使用してローソク足チャートを描画する方法を学ぶと、投資家がより適切な意思決定を行うのに役立つ、より直感的な情報が得られます。ローソク足チャートとは、株価をローソク足の形で表示するテクニカルチャートです。株価を示しています

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

インターネット金融の急速な発展に伴い、株式投資を選択する人がますます増えています。株式取引では、ローソク足チャートは一般的に使用されるテクニカル分析手法であり、株価の変化傾向を示し、投資家がより正確な意思決定を行うのに役立ちます。この記事では、PHP と JS の開発スキルを紹介し、株価ローソク足チャートの描画方法を読者に理解してもらい、具体的なコード例を示します。 1. 株のローソク足チャートを理解する 株のローソク足チャートの描き方を紹介する前に、まずローソク足チャートとは何かを理解する必要があります。ローソク足チャートは日本人が開発した

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

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

js と vue の関係: 1. Web 開発の基礎としての JS、2. フロントエンド フレームワークとしての Vue.js の台頭、3. JS と Vue の補完関係、4. JS と Vue の実用化ビュー。

JavaScript で HTTP ステータス コードを取得する方法の紹介: フロントエンド開発では、バックエンド インターフェイスとの対話を処理する必要があることが多く、HTTP ステータス コードはその非常に重要な部分です。 HTTP ステータス コードを理解して取得すると、インターフェイスから返されたデータをより適切に処理できるようになります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法と、具体的なコード例を紹介します。 1. HTTP ステータス コードとは何ですか? HTTP ステータス コードとは、ブラウザがサーバーへのリクエストを開始したときに、サービスが
