[英]Why does my React Native FlatList keyExtractor return undefined?
[英]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.