您可以有条件地在Icon
被调用的组件上有一个 className,rotated
并有一个基于 className 的 CSS 规则。
在您的toggleExpanded
函数中,您可以设置rotated
组件状态。
toggleExpanded() {
... (whatever else happens in here)
this.setState({iconRotated: !this.state.iconRotated})
}
<TouchableOpacity onPress={this.toggleExpanded}>
<View style={{ alignItems: "center" }}>
<Icon
iconStyle={{paddingTop:"13%", paddingRight: 50}}
className={this.state.iconRotated ? "icon-rotated" : ""}
name="play-circle"
color="#637182"
type="light"
size={30}
/>
</View>
</TouchableOpacity>
在 CSS 文件中,使用
.iconRotated
transform: rotate(90deg);
如果您不使用任何 CSS 文件,则必须有条件地使用内联样式。
const rotation = this.state.iconRotated ? 90 : 0
<TouchableOpacity onPress={this.toggleExpanded}>
<View style={{ alignItems: "center" }}>
<Icon
iconStyle={
{
paddingTop:"13%",
paddingRight: 50,
transform: `${rotate(rotation)}`
}
}
name="play-circle"
color="#637182"
type="light"
size={30}
/>
</View>
</TouchableOpacity>