1. ホーム
  2. reactjs

[解決済み] React - HTMLタグをpropsで渡すには?

2022-04-26 22:18:17

質問

テキストにHTMLタグを付けて、以下のように渡せるようにしたい。

<MyComponent text="This is <strong>not</strong> working." />

しかし、その中の MyComponent の render メソッドをプリントアウトすると this.props.text は、文字通りすべてをプリントアウトしてしまいます。

This is <strong>not</strong> working.

ReactがHTMLをパースして正しく吐き出す方法はないのでしょうか?

どのように解決するのですか?

文字列とJSX要素が混在した配列を使用することができます(docs参照 ここで ):

<MyComponent text={["This is ", <strong>not</strong>,  "working."]} />

ここに、動作することを示すフィドルがあります。 http://jsfiddle.net/7s7dee6L/

また、最後の手段として、常に 生のHTMLを挿入する機能 しかし、プロパティ値をサニタイズしていない場合、クロスサイトスクリプティング(XSS)攻撃にさらされる可能性があるので、注意が必要です。