如何不使用空对象?

时间:2019-04-13 22:24:54

标签: react-native

我有这样的对象:

nginx

我的问题是,我在平面列表中使用了此属性,并且某些属性为空,因此我不想使用它们,因为当我将它们放在盒子中时,它们会占用空间。 我该如何处理?

这是我的代码:

let collection = {
  first: '',
  second: '',
  third: '',
  Fourth: '',
};

EDİTED:

我确实喜欢这样,并且有效

<View style={styles.container}>
  <ScrollView>
    <FlatList 
      data={this.state.AllMetarials}
      extraData={this.state}
      keyExtractor={(item, index) => index.toString()}
      numColumns={1}
      renderItem={ ({ item }) => {
        return ( 
          <View style={{ width: '50%', marginLeft: '2%', marginTop: '2%', alignItems: 'center', justifyContent: 'center', backgroundColor: '#00cec9', opacity: 0.7 }} >
            <Text>{item.first}</Text>
            <Text>{item.second}</Text> 
            <Text>{item.third}</Text>
            <Text>{item.Fourth}</Text>
          </View>
        );
      }}
    />
  </ScrollView>
</View>

1 个答案:

答案 0 :(得分:0)

您的对象看起来像:

const myObject = {
  first: '',
  second: '',
}

然后您可以将其用作:

<View style={styles.container}>
  <ScrollView>
    <FlatList 
      data={this.state.AllMetarials}
      extraData={this.state}
      keyExtractor={(item, index) => index.toString()}
      numColumns={1}
      renderItem={ ({ item }) => {
        return ( 
          <View style={{ width: '50%', marginLeft: '2%', marginTop: '2%', alignItems: 'center', justifyContent: 'center', backgroundColor: '#00cec9', opacity: 0.7 }} >
            {item.first && <Text>{item.first}</Text>}
            {item.second && <Text>{item.second}</Text>} 
            {item.third && <Text>{item.third}</Text>}
            {item.Fourth && <Text>{item.Fourth}</Text>}
          </View>
        );
      }}
    />
  </ScrollView>
</View>

在javascript &&中,将确保仅在计算值不为null,不为空,不为零或未定义时执行下一条语句。