ReactJS应用多种内联样式

Osc*_*nco 12 reactjs react-jsx react-native

假设我有以下样式:

const styles = StyleSheet.create({
padding: {
  padding: 10
},
margin: {
  margin: 10
}
});
Run Code Online (Sandbox Code Playgroud)

我想将它们都应用到反应组件中?

Osc*_*nco 30

虽然我为此做了一些研究,但答案并非明确,一个建议是:

<View style={Object.assign({}, styles.padding, styles.margin)}>
    ...
</View>
Run Code Online (Sandbox Code Playgroud)

Object.assign()接受参数列表并合并它们,但是,如果你没有传递第一个空对象,它将覆盖第一个参数,所以如果你想让你的样式保持干净,你必须传递它.

然而,从反应0.27.2开始,我在尝试这样做时遇到了一个错误的错误.

进一步阅读揭示:

<View style={StyleSheet.flatten([styles.postHeader, styles.flowRight])}>
  ...
</View>
Run Code Online (Sandbox Code Playgroud)

工作得很好,但是在我找到另一个片段之后,这非常冗长且不太直观.

<View style={[styles.postHeader, styles.flowRight]}>
Run Code Online (Sandbox Code Playgroud)

对于所有意图和目的,这是我正在寻找的.

我只是想在这里分享这些知识,因为它看起来相当明显,但我找不到任何文档.