【问题标题】:Displaying data next to each other in react native在本机反应中彼此相邻显示数据
【发布时间】:2018-11-16 22:12:32
【问题描述】:

在我的 react-native 应用程序中,我从 api 返回数据,一切正常,除了我的布局搞砸了,我有一个专辑列表,我需要将每 2 个专辑彼此相邻显示,但所有它们中的每一个都显示在彼此下方,这是我的代码:

专辑详情:

   const AlbumDetails= (props) => {
    return(
      <Album>
        <Image source={{ uri: props.album.thumbnail_image }}/>
        <Text>{props.album.title}</Text>
      </Album>
    );
};

export default AlbumDetails;

专辑:

const Album= (props) => {
    return(
      <View style={{flex: 1}}>
      <View style={{display: "flex", flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center'}}>
      <View style={styles.albumContainer}>
        <View>{props.children}</View>
      </View>
      </View>
      </View>
    );
};

    const styles = StyleSheet.create({
      albumContainer: {
        backgroundColor: 'red',
        width: '50%',
        height: 180,
        display: 'flex',
        alignItems: 'center',
        justifyContent: 'center',
        marginBottom: 20,
        flexDirection: 'column'
      },
      });

export default Album;

【问题讨论】:

    标签: list react-native flexbox


    【解决方案1】:

    我建议使用FlatList 组件和numColumns 参数等于2。检查Expo Snack 或下面的代码。

    export default class App extends React.Component {
      render() {
        return (
          <View style={styles.container}>
            <FlatList
              style={{ margin: 5 }}
              data={data}
              numColumns={2}
              keyExtractor={(item, index) => item.id}
              renderItem={dataItem => (
                <AlbumDetails
                    album={{
                      title: dataItem.item.title,
                      thumbnail_image: dataItem.item.image,
                    }}
                />
              )}
            />        
          </View>
        );
      }
    }
    

    【讨论】:

    • 我从 API 返回数据,所以这样会重复,请问您还有其他建议吗?
    • @NatalieMerrill 我已经更新了我的答案。请看一看。
    猜你喜欢
    • 2021-05-17
    • 2022-06-30
    • 1970-01-01
    • 2018-01-10
    • 1970-01-01
    • 1970-01-01
    • 2020-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多