ホームページ >ウェブフロントエンド >jsチュートリアル >React で HTML 文字列を HTML としてレンダリングするにはどうすればよいですか?

React で HTML 文字列を HTML としてレンダリングするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-11 07:49:09897ブラウズ

How to Render HTML Strings as HTML in React?

React を使用した HTML 文字列の HTML としてのレンダリング

React では、HTML 文字列を実際の HTML コンテンツとしてレンダリングする必要がある状況によく遭遇します。試行によっては、文字列が HTML ではなく文字列として表示される場合がありますが、目的の結果を達成するために採用できるアプローチがいくつかあります。

1 つの方法は、HTML 要素の作成時に、dangerlySetInnerHTML プロパティを使用することです。このプロパティを使用すると、生の HTML をコンポーネントに挿入できます。たとえば、

を含む HTML 文字列があるとします。要素では、次の構文を使用できます。

<div dangerouslySetInnerHTML={{ __html: "<h1>Hi there!</h1>" }} />

これにより、

がレンダリングされます。要素を DOM に適切に追加します。ただし、dangerlySetInnerHTML に渡す文字列は、セキュリティ上の理由から常にサニタイズする必要があることに注意することが重要です。

this.props.match.description が HTML としてレンダリングされない特定のケースでは、次のことを試すことができます。以下:

  1. タイプを確認してください: this.props.match.description はオブジェクトではなく文字列です。オブジェクトの場合は、文字列に変換する必要がある可能性があります。
  2. 適切なマークアップを確認します: 文字列が実際に文字列である場合は、潜在的なマークアップの問題がないか検査します。すべてのタグが適切に閉じられていること、およびレンダリングを妨げる可能性のある文字エンティティがないことを確認してください。
  3. HTML エンティティをデコードする: HTML エンティティを処理している場合は、次のことが必要になる場合があります。それらをdangerlySetInnerHTMLに渡す前にデコードする必要があります。これを実現するには、htmlDecode などの関数を使用できます。

これらの手順を実装すると、React アプリケーションで HTML 文字列を実際の HTML として正常にレンダリングできるようになります。ただし、dangerouslySetInnerHTML プロパティを使用する前に入力をサニタイズして、セキュリティを優先することが常に重要です。

以上がReact で HTML 文字列を HTML としてレンダリングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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