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

时间:2016-10-18 20:37:43

标签: reactjs react-native

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

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

<TouchableHighlight style={[styles.button]{ backgroundColor: '#f00'}}   

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

4 个答案:

答案 0 :(得分:24)

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

<TouchableHighlight style={[styles.button,{ backgroundColor: '#f00'}]} 

答案 1 :(得分:6)

可以使用扩展语法:

<TouchableHighlight style={{ ...styles.button, backgroundColor: '#f00'}}

答案 2 :(得分:1)

这是在React Native 0.44.2中测试的正确答案:

<TouchableHighlight style={{...styles.button, ...{backgroundColor: '#f00'}}}>

答案 3 :(得分:0)

内联样式:

Select *
from (select e.*,
             row_number() over (partition by case_id order by case_id) as seqnum
      from Event e
      where subject_ID = 49 and date between '01-NOV-2019' and '14-NOV-2019'
     ) e
where seqnum = 1;

具有另一种StyleSheet样式:

<TouchableHighlight style={{ ...styles.button, backgroundColor: '#f00'}}