何がHeckの反応でJSXです.
6486 ワード
JSXはJavaScript XMLを表します.JSXでHTMLを書くことができます.JSXはJavaScriptへの構文拡張です.この記事では、あなたのキーボードをモニタに入れずにJXSを使う方法について説明します.それはかなりのときにハングアップを得る簡単です.
私が言うように、JSXを使用すると、追加機能を持つ反応に直接HTMLを書くことができます.最終的に、ビルドプロセス中に、babelは、プレーンJavaScriptでコードを移行します.
JSXコード:
JSXコード:
ユーザー作成コンポーネントは大文字で開始する必要があります.大きいno noは反応します.それはこうです.
JSXコンポーネントを子要素として渡すことができます.また、単純なHTML、JavaScriptの式、および子として機能を渡すことができます.
私が言うように、JSXを使用すると、追加機能を持つ反応に直接HTMLを書くことができます.最終的に、ビルドプロセス中に、babelは、プレーンJavaScriptでコードを移行します.
JSXコード:
<Navbar color="gray" />
コンパイル:React.createElement(
Navbar,
{color: 'gray'}
)
必要なHTMLタグを使用できます.子要素がない場合は、そのタグを自己終了タグとして使用できます.JSXコード:
<div className="imageContainer" />
コンパイル:React.createElement(
'div',
{className: 'imageContainer'}
ここで注意しなければならないのは、「Class」キーワードを使うことができないからです.また、クラス名にダッシュ(-)を使用することはできません.ユーザー作成コンポーネントは大文字で開始する必要があります.大きいno noは反応します.それはこうです.
JSXコンポーネントを子要素として渡すことができます.また、単純なHTML、JavaScriptの式、および子として機能を渡すことができます.
<CartContainer>
<CartHeader/>
<h1>{name}</h1>
<p>Thank you</p>
</CartContainer>
レンダリング時にboolean、null、undefinedは無視されます.私を誤解しないでください、これらは有効な子供です、しかし、彼らは提出されません.あなたのUIでそれらをレンダリングする場合は、文字列に変換する必要があります.const answer = true;
<div>
The answer is {String(true)}.
</div>
この記事の以前に、我々はJSXが反応する呼び出しにコンパイルするのを見ました.反応するので、反応は範囲になければなりません.(スコープは何ですか?「スコープ」はこの記事の範囲を超えています.それで、それが実際に範囲にあることを意味する?単にそれはあなたのcomponentsのそれぞれで反応をインポートする必要があることを意味します.import React from 'react';
1つのコンポーネントからJSXでPropsと呼ばれるデータを送信できます.任意のJavaScript式と文字列を渡すことができます次のデータの名前を入力して、次の記号とカーリーブレースで括弧.<ShoppingCart key={001}, name={"LV Wallet"}/>
もし文とループがJavaScriptで式でないなら、あなたは彼らを小道具として送ることができません、しかし、あなたは周囲のコードでそれらを使うことができます.
function NumberDescriber(props) {
let description;
if (props.age > 18 ) {
description = <strong>Underaged</strong>;
} else {
description = <i>18+</i>;
}
return (
<div>{props.number} is an {description} number</div>
);
}
Reference
この問題について(何がHeckの反応でJSXです.), 我々は、より多くの情報をここで見つけました https://dev.to/mirhussain/what-the-heck-is-jsx-in-react-3f0aテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol