gpt4 book ai didi

javascript - React 不在元素上渲染类

转载 作者:数据小太阳 更新时间:2023-10-29 03:47:50 30 4
gpt4 key购买 nike

我目前有两个文件,一个 app.js 和一个 index.html,当我尝试使用一些 CSS 类呈现表单时,HTML 元素显示但是类丢失。

这是我的app.js:

var Form = React.createClass({
handleClick: function() {
alert('click')
},
render: function() {
return (
<div>
<input class='form-control' type='text' name='list-name'/>
<button class="btn btn-primary" onClick={this.handleClick}>Submit</button>
</div>
);
}
});

ReactDOM.render(<Form/>,document.getElementById('app'));

这是我的 HTML 正文:

<div class="container">
<h1>Title</h1>
<div id="app" class="center"></div>
</div>

最佳答案

因为 class 可能会与 ECMAScript 冲突(这是一个保留关键字),React 开发人员选择使用 className 作为类的 HTML 元素的属性,而不是 class 。根据 React 文档:

Note: Since JSX is JavaScript, identifiers such as class and for are discouraged as XML attribute names. Instead, React DOM components expect DOM property names like className and htmlFor, respectively. Source

由于 forclass 是 ECMAScript(JavaScript 是其实现)的保留关键字,因此它们不能用作 XML 属性名称。这意味着标签的属性,例如 divinput。因此,使用 className 来表示 HTML 元素的类。这是一个适用的例子:

return (
<div>
<input className='form-control' type='text' name='list-name'/>
<button className="btn btn-primary" onClick={this.handleClick}>Submit</button>
</div>
);

请注意 className 用于代替 class

关于javascript - React 不在元素上渲染类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39442184/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com