ホームページ > 記事 > ウェブフロントエンド > React での HTML エスケープ
UTF-8文字を直接使用
<p>版权 ©</p>
HTMLエスケープ文字を使用
<p>版权 ©</p>
または10進エスケープ文字
<p>版权 ©</p>
ただし、外部にレイヤーを追加した場合中括弧を使用すると、React は XSS を防ぐためにエスケープされた文字エンティティを再度エスケープします
React は XSS を防ぐために DOM に表示されるすべての文字列をエスケープします。したがって、JSX に © (©) などのエスケープされたエンティティ文字が含まれている場合、React は © の特殊文字を自動的にエスケープするため、最終的な DOM では正しく表示されません。
<p>{'版权 ©'}</p>
エラー出力
版权 ©
正しい書き方:
UTF-8文字を直接使用しても正しく出力できます
<p>{'版权 ©'}</p>
安全な方法は、対応するUnicodeコードを使用することです
<p>{'版权 \u00a9'}</p>
fromCharCodeを使用してください
<p>{'版权 ' + String.fromCharCode(169)}</p>
配列アセンブリを使用する
<p>{['版权 ', <span>©</span>]}</p>
危険な SetInnerHTML を使用すると、React のエスケープ文字を回避できます
<p dangerouslySetInnerHTML={{ __html: '版权 ©' }} />
JSX の注意事項
<p>版权 ©</p>
<p>版权 ©</p>または 10 進エスケープ文字
<p>版权 ©</p>
<p>{'版权 ©'}</p>
エラー出力版权 ©正しい書き方:
UTF-8文字を直接使用しても正しく出力できます
<p>{'版权 ©'}</p>
安全な方法は、対応するUnicodeコードを使用することです
<p>{'版权 \u00a9'}</p>
fromCharCodeを使用してください
<p>{'版权 ' + String.fromCharCode(169)}</p>
配列アセンブリを使用する
<p>{['版权 ', <span>©</span>]}</p>
Reactエスケープ文字を避けるために危険なSetInnerHTMLを使用する
<p dangerouslySetInnerHTML={{ __html: '版权 ©' }} />
以上の内容はReactにおけるHTMLエスケープの書き方であり、皆様のお役に立てれば幸いです。
以上がReact での HTML エスケープの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。