web-dev-qa-db-ja.com

ラベル要素の 'for'属性を無視する

React(Facebookのフレームワーク)では、標準のfor属性を使ってテキスト入力にバインドされたlabel要素をレンダリングする必要があります。

例えば次のJSXが使用されています。

<label for="test">Test</label>
<input type="text" id="test" />

しかし、これは必須の(そして標準の)for属性を欠いたHTMLを生成します。

<label data-reactid=".1.0.0">Test</label>
<input type="text" id="test" data-reactid=".1.0.1">

何がおかしいのですか?

175
goofballLogic

for属性は、DOMプロパティAPIとの一貫性のためにhtmlForと呼ばれます。 Reactの開発ビルドを使用している場合は、これについてコンソールに警告が表示されているはずです。

337
Sophie Alpert

はい、反応します。

forはhtmlForになり、classはclassNameになります。

hTML属性がどのように変更されるかの完全なリストをここで見てください:

https://facebook.github.io/react/docs/dom-elements.html

10
Derrick

Reactでは、html属性を定義するために定義ごとのキーワードを使用しなければなりません。

class - > className

使用されている

for - > htmlFor

反応は大文字と小文字を区別しますので、必要に応じて小さくて資本に従わなければならないことを確認してください。

9
Jani Devang

htmlForを置き換えるためにreact forを使用するだけです。

あなたは以下のリンクをたどることによってより多くの情報を見つけることができます。

https://facebook.github.io/react/docs/dom-elements.html#htmlfor

https://github.com/facebook/react/issues/848

https://github.com/facebook/react/issues/1819

2
xgqfrms

それはJSXのhtmlForであり、classはJSXのclassNameです。

0
Daniel Nguyen