ホームページ >ウェブフロントエンド >jsチュートリアル >JSX (JavaScript XML): React での UI 開発の簡素化

JSX (JavaScript XML): React での UI 開発の簡素化

Barbara Streisand
Barbara Streisandオリジナル
2025-01-03 17:23:45757ブラウズ

JSX (JavaScript XML): Simplifying UI Development in React

JSX (JavaScript XML): React の主要な機能

JSX (JavaScript XML) は、開発者が JavaScript ファイル内に HTML のようなコードを直接記述できるようにする JavaScript の構文拡張機能です。これは React の中核機能の 1 つであり、ユーザー インターフェイス (UI) の構造を明確かつ簡潔に記述できるようにすることで開発エクスペリエンスを向上させます。

JSX について知っておくべきことはすべてここにあります:


1. JSX とは何ですか?

JSX を使用すると、JavaScript 内の HTML 要素または React コンポーネントを表す XML のようなタグを作成できます。 JSX は HTML のように見えますが、そうではありません。内部では、JSX は Babel などのツールを使用して標準 JavaScript にコンパイルされます。

  • JSX の例:
  const Greeting = () => {
    return <h1>Hello, World!</h1>;
  };
  • コンパイルされた JavaScript:
  const Greeting = () => {
    return React.createElement('h1', null, 'Hello, World!');
  };

2. JSX の主な機能

a.式の埋め込み

JavaScript 式を中括弧 {} で囲むことにより、JSX 内に埋め込むことができます。

  • :
  const name = "Alice";
  const Greeting = () => <h1>Hello, {name}!</h1>;

b.属性

JSX は、HTML に似た属性をサポートしていますが、プロパティの命名にはキャメルケースが使用されています。

  • :
  const Button = () => <button className="btn" onClick={() => alert('Clicked!')}>Click Me</button>;

c.ネストされた要素

要素を相互にネストして、完全な UI 構造を作成できます。

  • :
  const App = () => (
    <div>
      <h1>Welcome</h1>
      <p>This is a nested JSX structure.</p>
    </div>
  );

d.条件付きレンダリング

JavaScript ロジックを使用して要素を条件付きでレンダリングします。

  • :
  const isLoggedIn = true;
  const App = () => (
    <div>
      {isLoggedIn ? <h1>Welcome Back!</h1> : <h1>Please Log In</h1>}
    </div>
  );

3. JSX を使用する理由

a.宣言構文

JSX は UI を定義する宣言的な方法を提供し、コードをより読みやすく、実際の UI デザインに近づけます。

b. JavaScript との統合

JSX は JavaScript 関数の単なる構文糖であるため、UI 定義内でロジック、状態、プロパティをシームレスに統合できます。

c.強化された開発者エクスペリエンス

JSX を使用すると、従来の React.createElement() 呼び出しと比較して、UI コードの作成、理解、デバッグが容易になります。


4. JSX のルールとベスト プラクティス

a.単一の親要素を返す必要があります

JSX は単一のルート要素を返す必要があります。

を使用します。または React フラグメント (<>...) を使用して複数の要素をグループ化します。
  • :
  const Greeting = () => {
    return <h1>Hello, World!</h1>;
  };

b.自己終了タグ

子のない要素の場合は、自己終了タグを使用します。

  • :
  const Greeting = () => {
    return React.createElement('h1', null, 'Hello, World!');
  };

c.インライン スタイルを避ける (可能な場合)

JSX は style 属性によるインライン スタイルをサポートしていますが、保守性を高めるために CSS-in-JS ライブラリまたは外部スタイルシートを使用してください。

  • インライン スタイルの例:
  const name = "Alice";
  const Greeting = () => <h1>Hello, {name}!</h1>;

b.値を適切にエスケープする

JSX は、XSS 攻撃を防ぐために危険な入力を自動的に回避します。例:

  • {userInput}
    <script> はエスケープされます。 userInput.</script>
  • のタグ

6. JSX が React にどのように適合するか

JSX は React の要件ではありませんが、次の理由から広く使用されています。

  • コンポーネントと UI を定義するプロセスが簡素化されます。
  • React のレンダリング ロジックとシームレスに統合されます。

JSX を使用せずに React コンポーネントを構築することはできますが、コードが冗長になり、管理が難しくなります。

  • JSX なし:
  const Button = () => <button className="btn" onClick={() => alert('Clicked!')}>Click Me</button>;

7.ツールとサポート

JSX を使用するには、JSX コードを JavaScript にトランスパイルするための Babel などのビルド ツールが必要です。 Create React App を含むほとんどの React セットアップは、これを自動的に処理します。


8.結論

JSX は HTML と JavaScript の間のギャップを埋め、React で UI を定義するための宣言的で読みやすい強力な方法を提供します。必須ではありませんが、これは最新の React 開発の定番であり、開発者は定型文を減らしてより明確に複雑なユーザー インターフェイスを構築できます。

以上がJSX (JavaScript XML): React での UI 開発の簡素化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。