React игнорирует атрибут "for" элемента label

В React (фреймворк Facebook) мне нужно отобразить элемент метки, привязанный к текстовому вводу, используя стандартный атрибут for.

например. используется следующий JSX:

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

Однако это приводит к тому, что HTML не содержит требуемого (и стандартного) атрибута for:

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

Что я делаю неправильно?

Ответ 1

Атрибут for называется htmlFor для согласованности с API свойств DOM. Если вы используете сборку разработки React, вы должны были увидеть предупреждение в своей консоли об этом.

Ответ 3

Для React вы должны использовать его для определения ключевых слов для определения атрибутов html.

classclassName

и

forhtmlFor

так как реакция чувствительна к регистру, убедитесь, что вы должны следовать за малым и капиталом по мере необходимости.

Ответ 5

Это htmlFor в JSX и className в JSX

Ответ 6

и for, и class являются зарезервированными словами в JavaScript, поэтому, когда дело доходит до атрибутов HTML в JSX, вам нужно использовать что-то еще, команда разработчиков React решила использовать htmlFor и className соответственно