而不是标签中的“for”我可以使用什么?

时间:2014-07-28 13:33:33

标签: javascript reactjs

我正在React.js中创建一个切换按钮,

我正在动态创建输入标签

因此,当我要在标签中申请属性时,它无效。

请帮我解决JS中的任何其他属性

render: function() {
    var checks = this.state.data.map(function(d) {
        return (
            <div className="switch">
                {d.id}
                <input id="toggle-1" className="toggle toggle-round" type="checkbox" checked={d.selected} onChange={this.__changeSelection.bind(this, d.id)} />
                <label for="toggle-1"></label>
            </div>
        );

1 个答案:

答案 0 :(得分:3)

查看source code似乎与class一样(您需要使用className),您需要使用备用名称 - 在这种情况下htmlFor

<label htmlFor="toggle-1"></label>

可能是因为:

  • both class and for are reserved keywords in JavaScript
  • 在这几种情况下,属性名称不会与名称公开的JavaScript一对一映射,而React选择匹配JavaScript API,而不是导入DOM(React句柄data-*和{{ 1}}转换,但文档明确地将该行为称为。