javascript - 每行显示 2 个项目[react native]

标签 javascript reactjs react-native flexbox

我正在学习 React Native,在我看到的所有教程中,ListView 每行仅使用 1 个项目。不过,我还没有使用过 ListView。我只有 6 个项目必须显示为平面网格,每行 2 个项目并且应该响应。我知道这是一个基本问题,但我也从我这边尝试过,可以在图片中看到

enter image description here

这是我的代码

 renderDeviceEventList() {
    return _.map(this.props.deviceEventOptions, deviceEventOption => (
        <View key={deviceEventOption.id}>
            <Icon
                name={deviceEventOption.icon_name}
                color="#ddd"
                size={30}
                onPress={() =>
                    this.props.selectDeviceEvent(deviceEventOption)
                }
            />
            <Text style={{ color: "#ff4c4c" }}>
                {deviceEventOption.icon_name}
            </Text>
        </View>
    ));
}
render() {
    return (
        <View
            style={{
                flex: 1,
                top: 60,
                flexDirection: "row",
                justifyContent: "space-around",
                flexWrap: "wrap",
                marginBottom: 10
            }}
        >
            {this.renderDeviceEventList()}
        </View>
    );
}

最佳答案

正确的方法是使用 flexBasis,将值设置为 (1/n)%,其中 n 是所需的行数 > 0。对于两行:

.parent {
    flex: 1,
    flexWrap: 'wrap',
    flexDirection: 'row'
}
.child {
    flexBasis: '50%'
}

关于javascript - 每行显示 2 个项目[react native],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40418285/

相关文章:

javascript - 如何根据 URL 中的某些文本选择 anchor 元素?

javascript - 如何将 php/ajax 请求转为 OOP

javascript - 如何将代码从路由传输到组件

python - 使用 Django、webpack、reactjs、react-router 解耦前后端

javascript - Firebase 电话身份验证错误 : Invalid token. 在 nativeToJSError

javascript - 如何查找 DOM 元素是否附加了一些 Javascript?

javascript - Mongoose 使用正则表达式查找不起作用

javascript - 如何一次播放数组中的一首歌曲 react js

android - 是否可以从 React App 访问 NFC 功能

android - 如何使用 React Native 开发电子邮件客户端应用程序