コンテンツへスキップ

@stylistic/jsx/

jsx-tag-spacing

JSXの開始および終了括弧の内外の空白を強制します。

開始括弧の後、終了括弧の前、自己終了要素の終了括弧の前、およびJSXの終了要素または自己終了要素の山括弧とスラッシュの間のスペースを強制または禁止します。

ルールの詳細

このルールは、JSX構文要素の内側と周囲の空白をチェックします。

ルールオプション

このルールは、closingSlashbeforeSelfClosingafterOpeningbeforeClosingの4つのキーを持つオブジェクトを引数として取ります。各キーは、特定のチェックを無効にするために"allow"の値を受け取ることができます。

デフォルト値は次のとおりです。

json
{
  "closingSlash": "never",
  "beforeSelfClosing": "always",
  "afterOpening": "never",
  "beforeClosing": "allow"
}

各サブオプションのオプションについては、次のサブセクションで説明します。

closingSlash

このチェックは、"always""never"、または"allow"(無効にする)に設定できます。

"never"の場合、JSXトークン<//>の2つの文字を区切るスペースがあるたびに警告します。"always"の場合、前述の2つの文字を区切るスペースがないたびに警告します。このチェックのデフォルト値は"never"です。

{ "closingSlash": "never" }で構成した場合の、このルールの不正なコードの例

jsx
<App/ >
<input/
>
<Provider>< /Provider>

{ "closingSlash": "never" }で構成した場合の、このルールの正しいコードの例

jsx
<App/>
<input/>
<Provider></Provider>

{ "closingSlash": "always" }で構成した場合の、このルールの不正なコードの例

jsx
<Hello/>
<Goodbye></Goodbye>

{ "closingSlash": "always" }で構成した場合の、このルールの正しいコードの例

jsx
<Hello/ >
<Goodbye>< /Goodbye>

beforeSelfClosing

このチェックは、"always""never""proportional-always"、または"allow"(無効にする)に設定できます。

"always"の場合、終了括弧の前にスペースがないたびに警告します。"never"の場合、終了括弧の前にスペースがある場合に警告します。このチェックのデフォルト値は"always"です。

{ "beforeSelfClosing": "always" }で構成した場合の、このルールの不正なコードの例

jsx
<Hello/>
<Hello firstname="John"/>

{ "beforeSelfClosing": "always" }で構成した場合の、このルールの正しいコードの例

jsx
<Hello />
<Hello firstName="John" />
<Hello
  firstName="John"
  lastName="Smith"
/>

{ "beforeSelfClosing": "never" }で構成した場合の、このルールの不正なコードの例

jsx
<Hello />
<Hello firstName="John" />

{ "beforeSelfClosing": "never" }で構成した場合の、このルールの正しいコードの例

jsx
<Hello/>
<Hello firstname="John"/>
<Hello
  firstName="John"
  lastName="Smith"
/>

{ "beforeSelfClosing": "proportional-always" }で構成した場合の、このルールの不正なコードの例

jsx
<Hello
  firstName="John"
  lastName="Smith" />
<Hello
  firstName="John"
  lastName="Smith"/>

{ "beforeSelfClosing": "proportional-always" }で構成した場合の、このルールの正しいコードの例

jsx
<Hello
  firstName="John"
  lastName="Smith"
/>

afterOpening

このチェックは、"always""never""allow-multiline"、または"allow"(無効にする)に設定できます。

"always"の場合、JSXの開始要素または終了要素の開始括弧の後にスペースがないたびに警告します。"never"の場合、JSXの開始要素または終了要素の開始括弧の後にスペースがある場合に警告します。"allow-multiline"の場合、"never"のように動作しますが、区切り文字に改行文字が含まれている場合は許可します。このチェックのデフォルト値は"never"です。

{ "afterOpening": "always" }で構成した場合の、このルールの不正なコードの例

jsx
<Hello></Hello>
<Hello firstname="John"/>
<Hello
  firstName="John"
  lastName="Smith"
/>

{ "afterOpening": "always" }で構成した場合の、このルールの正しいコードの例

jsx
< Hello></ Hello>
< Hello firstName="John"/>
<
  Hello
  firstName="John"
  lastName="Smith"
/>

{ "afterOpening": "never" }で構成した場合の、このルールの不正なコードの例

jsx
< Hello></ Hello>
< Hello firstName="John"/>
<
  Hello
  firstName="John"
  lastName="Smith"
/>

{ "afterOpening": "never" }で構成した場合の、このルールの正しいコードの例

jsx
<Hello></Hello>
<Hello firstname="John"/>
<Hello
  firstName="John"
  lastName="Smith"
/>

{ "afterOpening": "allow-multiline" }で構成した場合の、このルールの不正なコードの例

jsx
< Hello></ Hello>
< Hello firstName="John"/>
< Hello
  firstName="John"
  lastName="Smith"
/>

{ "afterOpening": "allow-multiline" }で構成した場合の、このルールの正しいコードの例

jsx
<Hello></Hello>
<Hello firstName="John"/>
<
  Hello
  firstName="John"
  lastName="Smith"
/>

beforeClosing

このチェックは、"always""never""proportional-always"、または"allow"(無効にする)に設定できます。

"always"の場合、JSXの開始要素の終了括弧の前に空白がない場合、または終了括弧の前に空白がない場合に警告します。"never"の場合、JSXの開始要素または終了要素の終了括弧の前にスペースがある場合に警告します。このルールは、自己終了のJSX要素については決して警告しません。このチェックのデフォルト値は"allow"です。

{ "beforeClosing": "always" }で構成した場合の、このルールの不正なコードの例

jsx
<Hello></Hello>
<Hello></Hello >
<Hello ></Hello>

{ "beforeClosing": "always" }で構成した場合の、このルールの正しいコードの例

jsx
<Hello ></Hello >
<Hello
  firstName="John"
>
</Hello >

{ "beforeClosing": "never" }で構成した場合の、このルールの不正なコードの例

jsx
<Hello ></Hello>
<Hello></Hello >
<Hello ></Hello >

{ "beforeClosing": "never" }で構成した場合の、このルールの正しいコードの例

jsx
<Hello></Hello>
<Hello
  firstName="John"
>
</Hello>

{ "beforeClosing": "proportional-always" }で構成した場合の、このルールの不正なコードの例

jsx
<Hello
  firstName="John"
  lastName="Smith">
</Hello>
<Hello
  firstName="John"
  lastName="Smith" >
  Goodbye
</Hello>

{ "beforeClosing": "proportional-always" }で構成した場合の、このルールの正しいコードの例

jsx
<Hello
  firstName="John"
  lastName="Smith"
>
  Goodbye
</Hello>

使用しない場合

JSX括弧の内側または周囲のスペースの一貫性を気にしない場合は、このルールをオフにすることができます。

MITライセンスの下でリリースされています。