在 React(Facebook 的框架)中,我需要使用标准for
属性呈现绑定到文本输入的标签元素。
例如,使用了以下 JSX:
<label for="test">Test</label>
<input type="text" id="test" />
但是,这会导致 HTML 缺少必需的(和标准的)for
属性:
<label>Test</label>
<input type="text" id="test">
我究竟做错了什么?
在 React(Facebook 的框架)中,我需要使用标准for
属性呈现绑定到文本输入的标签元素。
例如,使用了以下 JSX:
<label for="test">Test</label>
<input type="text" id="test" />
但是,这会导致 HTML 缺少必需的(和标准的)for
属性:
<label>Test</label>
<input type="text" id="test">
我究竟做错了什么?
for
调用该属性是htmlFor
为了与 DOM 属性 API 保持一致。如果您使用的是 React 的开发版本,您应该已经在控制台中看到了关于此的警告。
是的,为了react,
for
变成 htmlFor
class
变成 className
等等。
在此处查看 HTML 属性如何更改的完整列表:
对于 React,您必须使用它的 per-define 关键字来定义 html 属性。
class
->className
使用和
for
->htmlFor
使用,因为 react 区分大小写,请确保您必须根据需要遵循 small 和 capital 。
双方for
并class
在JavaScript中的保留字,这就是为什么当它涉及到HTML中JSX属性,你需要使用别的东西,做出react的团队决定使用htmlFor
和className
分别
htmlFor
来替换for
!您可以通过以下链接找到更多信息。
https://facebook.github.io/react/docs/dom-elements.html#htmlfor