Skip to content
← Back to rules

react/no-danger 制限

何をするか

このルールは dangerouslySetInnerHTML プロパティの使用を禁止します。

なぜ問題なのか

dangerouslySetInnerHTML は、React コンポーネントに HTML を埋め込む方法です。これは危険な理由は、簡単にクロスサイトスクリプティング(XSS)脆弱性を引き起こす可能性があるためです。

このルールに対して誤りなコードの例:

jsx
import React from "react";

const Hello = <div dangerouslySetInnerHTML={{ __html: "Hello World" }}></div>;

このルールに対して正しいコードの例:

jsx
import React from "react";

const Hello = <div>Hello World</div>;

使い方

設定ファイルまたは CLI でこのルールを有効化するには、次のようにします:

json
{
  "plugins": ["react"],
  "rules": {
    "react/no-danger": "error"
  }
}
bash
oxlint --deny react/no-danger --react-plugin

参照