React native:如何组合外部和内联样式?

Nic*_*las 17 reactjs react-native

这是_renderRow函数的一部分.我有一些按钮的基本样式,以及从行上的变量读取的样式.在这个例子中,它是'#f00',但它可以是变量,如thisColor.如何将外部样式与内联样式相结合?

像这样的东西,但这不起作用:

<TouchableHighlight style={[styles.button]{ backgroundColor: '#f00'}}   
Run Code Online (Sandbox Code Playgroud)

或者我是否必须将其与TouchableHightlight中的容器嵌套,并将内联样式放在该元素上?

Ale*_*son 33

你的括号错了.如果您打算继续使用数组语法,请改用:

<TouchableHighlight style={[styles.button,{ backgroundColor: '#f00'}]} 
Run Code Online (Sandbox Code Playgroud)


Jef*_*oud 9

可以使用扩展语法:

<TouchableHighlight style={{ ...styles.button, backgroundColor: '#f00'}}
Run Code Online (Sandbox Code Playgroud)

  • 这是对很老的评论的回复,但是出现上述两个错误的原因是因为在传播多个样式时需要为每个样式添加传播运算符“...”..像这样: {{ ... styles.centered, ...styles.textDay, backgroundColor: '#f0f"}} - 请注意,在上面的评论中,styles.textDay 中缺少“...”(希望这个小回复能够为窥视者清除问题) &gt;=2019) (2认同)