Javascript 如何将CSS样式应用于自定义组件
我创建了一个带有“npx create react app my app”的演示react应用程序。当我尝试将样式应用于React组件时,什么也不会发生,但是当我将样式应用于普通HTML标记(如Javascript 如何将CSS样式应用于自定义组件,javascript,css,reactjs,Javascript,Css,Reactjs,我创建了一个带有“npx create react app my app”的演示react应用程序。当我尝试将样式应用于React组件时,什么也不会发生,但是当我将样式应用于普通HTML标记(如时),Css样式将应用于React中的JSX元素,而不是组件 应用css样式的方法是错误的,但是类名仍然是组件的有效属性。您可以使用this.props.className访问它,并将其作为类名传递给div,就像我在right way示例中提到的那样 <TakenFrame className="t
时),Css样式将应用于React中的JSX元素,而不是组件
应用css样式的方法是错误的,但是类名仍然是组件的有效属性。您可以使用this.props.className访问它,并将其作为类名传递给div,就像我在right way示例中提到的那样
<TakenFrame className="taken-frame" />
应用css样式的正确方法
class TakenFrame extends React.Component {
render(){
return(
<div className="taken-frame">
</div>
//OR
<div className={this.props.className}>
</div>
)
}
}
类TakenFrame扩展React.Component{
render(){
返回(
//或
)
}
}
您也可以使用样式化组件。请参阅我使用以下样式:
import styles from 'yourstyles.css'
...
class TakenFrame extends React.Component {
render(){
return(
<div className={styles.classNameDeclaredInCssFile}>
</div>
)
}
}
在您的例子中,您只是将一个名为“className”的属性传递给您的组件,而不是使用它。在组件中,如果您执行以下操作:
.classNameDeclaredInCssFile{
//... your styles here
}
class TakenFrame extends React.Component {
render(){
return(
<div className={this.props.className}>
</div>
)
}
}
类TakenFrame扩展React.Component{
render(){
返回(
)
}
}
这将是我期望的工作,但我更喜欢将我的样式分配给每个组件,我发现当我在组件层次结构中大量传递样式时,作为一名开发人员,这会增加我的困惑。我希望这能有所帮助。Css样式只应用于JSX元素,而不应用于组件。请告诉我应用样式的正确方法是什么?将所有Css放入一个file.Css中,创建一个全局样式,并在任何需要的地方使用这些类。避免使用内联cssstyles@Seagull很乐意帮忙:)你能不能也投票给我
class TakenFrame extends React.Component {
render(){
return(
<div className={this.props.className}>
</div>
)
}
}