Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将CSS样式应用于自定义组件_Javascript_Css_Reactjs - Fatal编程技术网

Javascript 如何将CSS样式应用于自定义组件

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

我创建了一个带有“npx create react app my app”的演示react应用程序。当我尝试将样式应用于React组件时,什么也不会发生,但是当我将样式应用于普通HTML标记(如
时),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>
            )
       }
 }