我刚接触React,但是无法理解bsClass和className之间的概念。
我想要实现一个修改后的按钮样式,例如:
<Button bsClass="btn-custom" >自定义按钮</Button>
当我用className
替换bsClass
时,它不起作用。
但在其他部分中,使用相同的custom.css源代码,我实现了:
<img src={logo} alt="logo" className="app-logo" />
,并且它可以正常工作。
我刚接触React,但是无法理解bsClass和className之间的概念。
我想要实现一个修改后的按钮样式,例如:
<Button bsClass="btn-custom" >自定义按钮</Button>
当我用className
替换bsClass
时,它不起作用。
但在其他部分中,使用相同的custom.css源代码,我实现了:
<img src={logo} alt="logo" className="app-logo" />
,并且它可以正常工作。
JSX的属性className
等同于HTML中的class
。因此,下面的JSX
<span className="app-logo">Logo</span>
在HTML中,将等同于以下内容
<span class="app-logo">Logo</span>
根据bsClass的考虑
<Button bsClass="btn-custom" >Custom button</Button>
在ReactJS中,传递给
React的className
与CSS中的常规类完全等价。
HTML/CSS:
<div class='red-text'>
Foo
</div>
React/JSX:
<div className='red-text'>
Foo
</div>
className
(而不是class
)的原因是因为“class”在JavaScript中已经被定义为保留关键字。bsClass
是react-bootstrap包中预定义的类。就像CSS版本的Bootstrap带有自己的样式一样,react-bootstrap也是如此。.xx {
magin-bottom: 2px
}
Button
组件的文档。 - zerkms