在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">
我做错了什么?
答案 0 :(得分:327)
for
属性称为htmlFor
,以与DOM属性API保持一致。如果您正在使用React的开发版本,那么您应该在控制台中看到关于此的警告。
答案 1 :(得分:9)
是的,反应,
成为htmlFor class成为className 等。
请参阅此处更改HTML属性的完整列表:
答案 2 :(得分:9)
对于React,您必须使用它的per-define关键字来定义html属性。
使用了
class
- &gt;className
和
使用
for
- &gt;htmlFor
,因为反应是区分大小写的,请确保您必须按照小额和资本要求。
答案 3 :(得分:2)
htmlFor
替换for
!您可以通过以下链接找到更多信息。
https://facebook.github.io/react/docs/dom-elements.html#htmlfor
答案 4 :(得分:0)
在JSX中是htmlFor,在JSX中类是className
答案 5 :(得分:0)
for
和class
在JavaScript中都是保留字,这就是为什么当涉及JSX中的HTML属性时,您需要使用其他内容,React团队决定使用htmlFor
和{分别{1}}