问题描述
我有一个tot_w = -2*(i*(j-b_current..))
,它的背景色要根据条件而改变。
在this question中,他们通过控制状态中的样式来回答如何做
TouchableOpacity
就我而言,我的TouchableOppacity具有许多样式属性,并且为了保持代码的整洁,我不想在我的render函数中定义所有这些属性,因为它们大多数都不依赖任何条件。
我通常这样做:
<TouchableOpacity
style={{backgroundColor:this.state.backgroundColor}}
>
现在,我需要将两者结合起来,能够在文件末尾从状态设置backgroundColor,从<TouchableOpacity style={styles.button}>
// and then at the end of the file I define the styles
const styles = StyleSheet.create({
button: {
borderRadius: 15,width: 200,height: 50,margin: 20,alignItems: "center",justifyContent: "center"
}
}
设置其余属性。
有没有一种方法可以组合不同位置的样式,因此我可以在文件末尾定义静态样式,并在类内部定义动态样式?
我尝试过类似的事情:
styles.button
但是,尽管它正确设置了styles.button属性,但并未设置backgroundColor。
解决方法
您可以通过以下代码来实现:
<TouchableOpacity style={[{backgroundColor: this.state.backgroundColor},styles.button]}>