3 回答
TA贡献1818条经验 获得超11个赞
如果组件自动生成,那么它的道具也可以随之生成,您可以在那里设置样式<div style={this.styleChanger}></div>,然后按照下面的步骤进行操作
创建这样的状态
state = {
styleChange: true
}
然后执行如下所示的功能。我知道这看起来很丑,但这是给演示的
clicker = () => {
if (this.state.change) {
this.setState({
styleChange: false
});
return {
backgroundColor: "red"
};
} else {
this.setState({
styleChange: true
});
return;
}
};
在这里调用函数onClick并将函数设置为样式,它将自动执行
<ParentComponent>
<div style={this.styleChanger}>
<ul>
<li onClick={this.clicker}>1</li>
<li>2</li>
<li>3</li>
</ul>
</div>
</ParentComponent>
TA贡献1809条经验 获得超8个赞
会自动为道具生成一个标签: maincontent
这只会在内部ParentComponent有div周围环境的情况下才会发生
<div>
{this.props.children}
</div>
如果是这种情况,则应使用React.Fragment
<Fragment>
{this.props.children}
</Fragment>
或者
<>
{this.props.children}
</>
因此,只需更改ParentComponent为使用Fragment并以所需的样式添加自己的div元素即可。
<ParentComponent>
<div style={this.styleChanger}>
<ul>
<li onClick={this.clicker}>1</li>
<li>2</li>
<li>3</li>
</ul>
</div>
</ParentComponent>
添加回答
举报