React忽略label元素的'for'属性

时间:2014-03-31 01:07:39

标签: reactjs label

在React(Facebook的框架)中,我需要使用标准for属性渲染绑定到文本输入的标签元素。

e.g。使用以下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">

我做错了什么?

6 个答案:

答案 0 :(得分:327)

for属性称为htmlFor,以与DOM属性API保持一致。如果您正在使用React的开发版本,那么您应该在控制台中看到关于此的警告。

答案 1 :(得分:9)

是的,反应,

成为htmlFor class成为className 等。

请参阅此处更改HTML属性的完整列表:

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

答案 2 :(得分:9)

对于React,您必须使用它的per-define关键字来定义html属性。

  

class - &gt; className

使用了

  

for - &gt; htmlFor

使用

,因为反应是区分大小写的,请确保您必须按照小额和资本要求。

答案 3 :(得分:2)

答案 4 :(得分:0)

在JSX中是htmlFor,在JSX中类是className

答案 5 :(得分:0)

forclass在JavaScript中都是保留字,这就是为什么当涉及JSX中的HTML属性时,您需要使用其他内容,React团队决定使用htmlFor和{分别{1}}