我想使用style1
的backgroundColor
作为状态,并在函数change()
中更改它。
如何访问style1
?
我的观点是从另一个函数调用函数change
,使按钮的颜色变为黄色,然后在一段时间后再次变为蓝色。
export default class App extends Component{
constructor (props){
super(props);
this.state = {
//style1.backgroundColour: blue //? Can't
}
this.change=this.change.bind(this)
}
change() {
this.setState({ style1.backgroundColour: yellow }) //?
}
render(){
return (
<View style={styles.style1} > </View>
);
}
}
const styles = StyleSheet.create({
style1:{
padding: 5,
height: 80,
width: 80,
borderRadius:160,
backgroundColor:'blue',
},
});
1条答案
按热度按时间8ehkhllq1#
更新:这个问题和我的答案都是基于类组件的,但是函数组件和钩子是目前使用React很长一段时间的方式。
首先,您应该为backgroundColor创建一个状态:
然后在函数中更改它的值
最后,把它用在风格 prop 上:
你可以给予样式属性一个数组,这样你就可以从其他的源中添加任何其他的样式。
首先,您应该为backgroundColor状态声明一个默认值:
然后在函数中将其状态设置为普通字符串状态:
最后,把它用在风格 prop 上: