在不同的地方设置样式

问题描述

我有一个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]}>