在iOS上与react native合作了几周后,我似乎遇到了flex样式的一些缺点...尤其是在"react "行为方面.

例如,假设您想要创建一个包含卡片的视图(这些卡片的元数据来自API).您希望卡片的宽度为视图宽度减go 边距的50%;填充,并在每2个后Package.

enter image description here

我对该视图的当前实现将返回的数组拆分为包含2项的行.列表容器有flex: 1, flexDirection: 'column个,行有flex: 1个,然后每个卡片有flex: 1个.最终结果是每行有2列,平均占据视图宽度的一半.

在React原生样式中,似乎没有一种简单的方法可以做到这一点,而不使用javascript对数据进行某种预处理,以便正确地生成样式.有人有什么建议吗?

推荐答案

react 已经has percentage support:

<View style={[style.parent]}>
    <View style={[style.child, {backgroundColor: '#996666'} ]} />
    <View style={[style.child, {backgroundColor: '#339966'} ]} />
    <View style={[style.child, {backgroundColor: '#996633'} ]} />
    <View style={[style.child, {backgroundColor: '#669933'} ]} />
</View>

var style = StyleSheet.create({
    parent: {
        width: '100%', 
        flexDirection: 'row', 
        flexWrap: 'wrap'
    },
    child: {
        width: '48%', 
        margin: '1%', 
        aspectRatio: 1,
    }
})

enter image description here

React-native相关问答推荐

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

如何在底部标签导航中添加顶部标签

如何将 react-native 图像从 expo-image-picker 上传到使用 multer 的 Express.js 后端

我应该什么时候调用 realm.close()?

判断状态对象是否为空

我可以在状态内有一个函数来响应吗?

React Native - 当位置在Android上是绝对时视图消失

React Redux 使用带有连接组件的 HOC

如何在react-native android中打开应用程序设置页面?

我们如何将 Firebase Analytics 与基于 expo 的 react-native 应用程序一起使用

如何在 React Native 中使用 index.js 而不是 (index.ios.js, index.android.js) 进行跨平台应用程序?

占位符文本在(多行)TextInput for Android(React Native)中的位置

在 React Native Navigator 中的组件之间传递值

INSTALL_FAILED_UPDATE_INCOMPATIBLE:包签名与之前安装的版本不匹配,忽略

在 navigator pop 上react Native Pass 属性

带有 React Native 的 EventEmitter 和 Subscriber ES6 语法

React Native,AppStore 请求 NSLocationAlwaysUsageDescription 值

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

保存时 Visual Studio 代码格式化失败

React Native:任务':app:transformDexArchiveWithExternalLibsDexMergerForDebug'的执行失败