【问题标题】:flatlist showing type error : null is not a keyflatlist 显示类型错误:null 不是键
【发布时间】:2019-01-18 20:15:51
【问题描述】:

我在尝试从 React Native 获取数据时收到此错误。早些时候它工作正常,但现在它不工作了,我不知道为什么。

<FlatList
  data={this.state.favArr}
  renderItem={({ item }) => (
    <TouchableOpacity
      style={styles.itemContainer}
      onPress={() => this.handleTap({ item })}
    >
      <Image
        resizeMode="cover"
        style={styles.contentImage}
        source={{
          uri: "https://images.pexels.com/photos/186077/pexels-photo-186077.jpeg?auto=compress&cs=tinysrgb&h=350"
        }}
      />

      <TouchableOpacity
        onPress={() => this.unFavButtonTapped({ item })}
        style={styles.unFavBtnStyle}
      >
        <Image
          style={{
            height: 25,
            width: 25,
            alignSelf: "center"
          }}
          source={require("../Assets/ic_fill_heart.png")}
        />
      </TouchableOpacity>

      <View style={styles.apartment}>
        <Text style={fontLoaded ? styles.itemLocationFont : styles.item}>
          {item.bedroom} BHK Apartment{" "}
        </Text>

        <Text
          style={fontLoaded ? styles.LocationitemAveniur : styles.Locationitem}
        >
          {item.area}, {item.city}
        </Text>

        <Text style={fontLoaded ? styles.feetitemAveniur : styles.feetitem}>
          {item.builtUpArea} ft.{" "}
        </Text>

        <Text style={fontLoaded ? styles.itemLocationFont : styles.item}>
          ₹{item.price}{" "}
        </Text>

        <Text style={fontLoaded ? styles.RightItemAveniur : styles.Rightitem}>
          Posted On {item.uploadDate}
        </Text>
        <Text style={fontLoaded ? styles.expiryItemAveniur : styles.expiryItem}>
          Expires On {item.expiryDate}
        </Text>

        {
          <TouchableOpacity onPress={() => this.handleUnfavourite({ item })}>
            <Text style={styles.UnFavitem}>UnFavourite</Text>
          </TouchableOpacity>
        }
      </View>
    </TouchableOpacity>
  )}
  keyExtractor={item => item.key}
  numColumns={numColumns}
/>

【问题讨论】:

  • 我的回答 Rishav 有什么问题?!

标签: reactjs react-native expo react-native-flatlist


【解决方案1】:

替换这一行:

keyExtractor={item => item.key}

与:

keyExtractor={(item, index) => index.toString()}

【讨论】:

  • 非常感谢,但错误在于我的 firebase 中的身份验证。我修好了。我真的很感谢你的回答:)
  • 好吧,你的解决方案也被使用了,这也有效:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-07-10
  • 2023-01-12
  • 2022-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多