![](/img/trans.png)
[英]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.