[解決済み] JSXで空白を追加する際のベストプラクティス
2022-06-29 07:03:12
質問
私は、どのように(そして なぜ を追加する方法を理解していますが、何がベストプラクティスなのか、または何か本当の違いがあるのか、疑問に思っています。
両方の要素をspanで囲む
<div className="top-element-formatting">
<span>Hello </span>
<span className="second-word-formatting">World!</span>
</div>
1行にまとめる
<div className="top-element-formatting">
Hello <span className="second-word-formatting">World!</span>
</div>
JSでスペースを追加する
<div className="top-element-formatting">
Hello {" "}
<span className="second-word-formatting">World!</span>
</div>
どのように解決するのですか?
なぜなら
 
を使うと改行されないスペースが生じるので、必要な場合にのみ使うようにしましょう。ほとんどの場合、意図しない副作用が発生します。
Reactの古いバージョン、確かv14より前のものはすべて、自動的に
<span> </span>
を自動的に挿入していました。
もはやこれを行うことはできませんが、これはあなた自身のコードでこれを処理する安全な方法です。特にターゲットとするスタイルがない限り
span
(を特にターゲットとしたスタイリング(一般に悪い習慣)でない限り、これが最も安全なルートです。
あなたの例では、かなり短いので、それらを一緒に1つの行に置くことができます。長い行のシナリオでは、おそらくこのようにする必要があります。
<div className="top-element-formatting">
Hello <span className="second-word-formatting">World!</span>
<span> </span>
So much more text in this box that it really needs to be on another line.
</div>
この方法は、自動トリミングを行うテキストエディタに対しても安全です。
もう一つの方法は
{' '}
を使うもので、ランダムな HTML タグを挿入しません。これはスタイリングや要素のハイライト、DOMの乱雑さを取り除く際に便利です。React v14以前との後方互換性を必要としない場合は、この方法を優先してください。
<div className="top-element-formatting">
Hello <span className="second-word-formatting">World!</span>
{' '}
So much more text in this box that it really needs to be on another line.
</div>
関連
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] JavaScriptで二重引用符と単一引用符はいつ使うべきですか?
-
[解決済み] モバイル端末の検出にはどのような方法がありますか?
-
[解決済み] React JSX内のループ
-
[解決済み] jQueryでJavaScriptオブジェクトから選択する際に、オプションを追加する最も良い方法は何ですか?
-
[解決済み] React JSX: selecting "selected" on selected <select> option
-
[解決済み] React/JSXにscriptタグを追加する。
-
[解決済み】React / JSXの動的なコンポーネントの名前
-
[解決済み】子ノードを取得する最適な方法
-
[解決済み] React.jsで、マッピングするオブジェクトの配列なしで、要素をループしてレンダリングするにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
WeChatアプレット用ユニアプリによるグローバルシェアリング
-
Javascript Bootstrapのグリッドシステム、ナビゲーションバー、ローテーションの説明
-
vue ディレクティブ v-html と v-text
-
[解決済み] Error : 未定義のプロパティ 'map' を読み取ることができません。
-
[解決済み] テスト
-
[解決済み] 配列の結合時に未定義のプロパティ 'push' を読み込むことができない
-
[解決済み】TypeError: Router.use() はミドルウェアの関数を要求しているが、Object を取得した。
-
[解決済み】ExpressJS : res.redirect()が期待通りに動かない?
-
OSSアップロードエラーを解決する: net::ERR_SSL_PROTOCOL_ERROR
-
[解決済み] 半角スペース、全角スペース、半角スペース、半角スペース、全角スペース、半角スペースを表す のような他のホワイトスペースはHTMLで有用ですか?