假设我有以下几种风格:

const styles = StyleSheet.create({
padding: {
  padding: 10
},
margin: {
  margin: 10
}
});

我想把它们都应用到一个react 组件上?

推荐答案

虽然我为此做了一些研究,但答案并不十分清楚,有一个建议是:

<View style={Object.assign({}, styles.padding, styles.margin)}>
    ...
</View>

对象assign()获取参数列表并合并它们,但是,如果不传递第一个空对象,它将覆盖第一个参数,因此如果要保持样式整洁,必须传递它.

然而,从react 0.27.2开始,我在try 这样做时出现了一个asign错误.

进一步阅读后发现:

<View style={StyleSheet.flatten([styles.postHeader, styles.flowRight])}>
  ...
</View>

很好用,但这很冗长,也不是很直观,我发现了另一个片段:

<View style={[styles.postHeader, styles.flowRight]}>

无论出于什么目的,这都是我想要的.

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

React-native相关问答推荐

错误:HostBody::get for prop NativeUnimoduleProxy中出现异常- Android虚拟设备(AVD)使用Expo测试React Native App时崩溃

如何在renderItem中显示每个项目的索引号,保持分页的前一个下一个按钮

复制__自持props

单击时更改ToucheableOpacity colored颜色 不起作用

如何在react-navigation 中将drawer抽屉放在标题上?

No component found for view with name "ARTShape"

React 从 babel 6 到 babel 7 的原生升级

create-react-native-app myproject和react-native init myproject之间的真正区别是什么

在 CircleCI 上 ReactNative 0.59.x build fails on CircleCI with exit value 137

Undefined 不是判断 this.state.* 的对象

用于 React-Native 开发的 Visual Studio Code 中的自动导入

React native - 创建单例模式的最佳方式

ScrollView bounce的 2 种不同背景 colored颜色

如何在 Text 中围绕 Text 包裹 TouchableOpacity?

> 任务 :app:checkDebugAarMetadata 在运行 react-native run-android 时失败

React Navigation 中的选项卡导航器图标

React.createClass vs. ES6 箭头函数

React Native:如何将文件拆分为多个文件并导入它们?

如何在 React Native 中更改 textInput 占位符的字体系列

在 React Native 中向组件传递参数