簡體   English   中英

Firebase 反應本機 flatlist keyExtractor

[英]Firebase react native flatlist keyExtractor

我在平面列表中顯示了一些 firebase 數據,我在使用 keyExtractor 時遇到了問題,我一直有錯誤:

undefined 不是 object(評估“item.id”) 我在 firebase 中的所有數據中添加了一個 id 字段,並確保它們是一個字符串,但它仍然無法將其識別為 id。

function Squad() {
  const [gk, setGk] = useState([]);

  useEffect(() => {
    db.collection('squad').orderBy('position').get().then(snapshot => {
      const gkData = snapshot.map(doc => {
        const playerObject = doc.data();
        return { name: playerObject.name, number: playerObject.number, id: playerObject.id };
      });
      setGk(gkData);
      console.log(setGk);
    });
  }, []);

  const Item = ({ name, number }) => (
    <View style={styles.item}>
      <Text style={styles.itemText}>{number} - {name}</Text>
    </View>
  );

  const renderItem = ({ item }) => (
    <Item name={item.name} number={item.number} />
  )

  return(
    <View>
      <View style={globalStyles.bar}>
        <Text style={globalStyles.barText}>goalkeeper</Text>
      </View>
      <FlatList 
        data={setGk}
        renderItem={renderItem}
        keyExtractor={item => item.id}
      />
    </View>
  )
}

您傳遞給 Flatlist 的數據是 setter 函數! 你想傳入 'gk' 而不是 'setGk'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM