何がHeckの反応でJSXです.

6486 ワード

JSXはJavaScript XMLを表します.JSXでHTMLを書くことができます.JSXはJavaScriptへの構文拡張です.この記事では、あなたのキーボードをモニタに入れずにJXSを使う方法について説明します.それはかなりのときにハングアップを得る簡単です.
私が言うように、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>
);
}