是否可以在自定义反应组件上设置className?

soo*_*kie 15 javascript reactjs

假设我有一个像这样的简单组件:

class SimpleComponent extends React.Component
{
    render() { return <p>Some text</p> }
}
Run Code Online (Sandbox Code Playgroud)

是否有可能加入classNameSimpleComponent或者是这个限制为仅HTML DOM元素?

例如:

var mySimpleComponent = <SimpleComponent className="myComp"/>
Run Code Online (Sandbox Code Playgroud)

我想这样做的原因是我可以在我的自定义组件中设置元素的样式,如下所示:

.myComp > p {
    background-color: blue;
}
Run Code Online (Sandbox Code Playgroud)

jor*_*nor 19

你可以,但你应该将道具传播到内部组件.如果没有,它就不知道了.

class SimpleComponent extends React.Component
{
    render() { return <p className={this.props.className}>Some text</p> }
}
Run Code Online (Sandbox Code Playgroud)

要创建要完成的CSS查询,您应该div在组件内部创建.

class SimpleComponent extends React.Component
{
    render() { return <div className={this.props.className}><p>Some text</p></div> }
}
Run Code Online (Sandbox Code Playgroud)