React_2. JSX
JSX構文
JSXは、応答でUIを構成するための拡張JavaScript構文です.JSXを用いずに応答を記述できるが,コードの複雑化の欠点を負わなければならない.これらのJSXで記述されたコードは、Babelというコンパイラを使用してJavaScriptコードに変換され、ブラウザで実行されます.作成したコードはHTMLのようなタグを使い,直感的でJavaScriptのみでWebアプリケーションを実現する.HTMLとJSを別々に書く必要があるDOMとの違いです.
HTML vs JSX
次の例では、JSXが従来方式と比較してどれほど直感的であるかを示します.
JSX注意事項
JSXにはHTMLとは異なる特徴がいくつかあります.1つはクラスプロパティです.JSXではclassNameでクラスを指定する必要があります.classがまだ使用されている場合はjavascriptクラスとして認識されます.
リファレンス
反応式ドキュメント
JSXは、応答でUIを構成するための拡張JavaScript構文です.JSXを用いずに応答を記述できるが,コードの複雑化の欠点を負わなければならない.これらのJSXで記述されたコードは、Babelというコンパイラを使用してJavaScriptコードに変換され、ブラウザで実行されます.作成したコードはHTMLのようなタグを使い,直感的でJavaScriptのみでWebアプリケーションを実現する.HTMLとJSを別々に書く必要があるDOMとの違いです.
HTML vs JSX
次の例では、JSXが従来方式と比較してどれほど直感的であるかを示します.
function App() {
const user = {
firstName: "React",
lastName: "JSX"
};
function formatName(user) {
return user.firstName + " " + user.lastName;
}
// JSX 없이 활용한 React
return React.createElement("h1", null, `Hello, ${formatName(user)}!`);
// JSX 를 활용한 React
return <h1>Hello, {formatName(user)}!</h1>;
}
JSXで記述されたコードは,JSXで記述されていないコードに比べて明らかに短く,タグで構造を容易に予測できる.この点が反応の長所と言える.JSX注意事項
JSXにはHTMLとは異なる特徴がいくつかあります.1つはクラスプロパティです.JSXではclassNameでクラスを指定する必要があります.classがまだ使用されている場合はjavascriptクラスとして認識されます.
<div className="hi">hello</div>
また、JSXでJavaScriptを使用するには括弧{}を使用する必要があります.そうしないと、普通のテキストと見なされるからです.<div>hello, {name}</div>
反応素子を作成するには、ユーザー定義素子と呼ばれる大文字で始まる必要があります.小文字で記入すると、通常のHTML段落として扱われます.function Hello() {
return <div>hello!</div>;
}
return <Hello />;
reactionの条件文はif文ではなく3つの演算子を使用する必要があります.<div>{name === 'React' ? <h1>true</h1> : <h1>false</h1>}</div>
反応中に複数のHTMLセグメントを表示する場合はmap()関数を使用します.警告が表示されないには、keyプロパティを追加する必要があります.function Blog() {
const content = posts.map((post) =>
<div key={post.id}>
<h1>{post: title}</h1>
<p>{post: content}</p>
</div>
);
}
ここでkeyは変わらず、唯一の予想可能なid値を指定する必要があります.不可能な場合は、配列要素のインデックス値を使用できますが、これは最後の手段として使用する必要があります.Math.ランダム生成にrandom()を使用するとパフォーマンスが低下するため、本書では推奨されません.リファレンス
反応式ドキュメント
Reference
この問題について(React_2. JSX), 我々は、より多くの情報をここで見つけました https://velog.io/@sy3783/React2.-HTML-vs-JSXテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol