1. ホーム
  2. reactjs

error TS2339: Property 'for' does not exist on type 'HTMLProps<HTMLLabelElement>'.

2023-07-18 01:56:16

質問

typescriptとreactを使用して、間違いなく型付けされた型定義があるTSXファイルを使用すると、エラーが発生します。

error TS2339: Property 'for' does not exist on type 'HTMLProps<HTMLLabelElement>'.

以下のTSXを持つコンポーネントをコンパイルしようとすると

<label for={this.props.inputId} className="input-label">{this.props.label}</label>

私はすでに解決していますが、検索(GoogleやStackOverflow)しても解決策がどこにも表示されなかったので、次の人のためにここに追加します。

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

解決策は for 属性を htmlFor

<label htmlFor={this.props.inputId} className="input-label">{this.props.label}</label>

これはどうやらReactのライブラリ自体が扱う部分であるようで for を異なる方法で処理しているようです。 class (を使うように(それは className を使用)、確実に型付けされた型定義の問題ではありません。