3 回答

TA貢獻1842條經驗 獲得超21個贊
從數據中獲取一個項目并將其呈現到列表中。{item}
從中獲取字段data
進行渲染,而不是直接用作data
item進行渲染,
嘗試使用以下代碼:
? ? ? ? ?<FlatList
? ? ? ? ? ? data={posts}
? ? ? ? ? ? renderItem={({item, index}) => (
? ? ? ? ? ? ? <TouchableOpacity
? ? ? ? ? ? ? ? onPress={() => console.log(posts)}
? ? ? ? ? ? ? ? style={{ backgroundColor: 'yellow', marginVertical: 20 }}
? ? ? ? ? ? ? >
? ? ? ? ? ? ? ? <Text style={{ fontSize: 30 }}>{item.title}</Text>
? ? ? ? ? ? ? </TouchableOpacity>
? ? ? ? ? ? )}
? ? ? ? ? />

TA貢獻1829條經驗 獲得超6個贊
你仍然需要進入里面Array所以它應該是
[
Object {
"description": "this is the body text",
"key": "8x9RPFqKlyXdwyTQMQqJ",
"title": "title here",
"topic": "Public",
},
Object {
"key": "DaFVjEUBDrVXDCSsiotr",
},
Object {
"description": "Eek",
"key": "n1YAuqv4gaZ2EFDwbCQD",
"title": "Eem",
"topic": "Public",
},
]

TA貢獻1966條經驗 獲得超4個贊
對于那些在未來掙扎的人:
根據 Drew 和 dieu 所說,嘗試返回整個對象,其中 .title 不存在。
此更改解決了我的問題:
<FlatList
data={posts}
renderItem={(item) => <TouchableOpacity onPress={() => console.log(posts)} style={{ backgroundColor: '#ECECEC', marginVertical: 20, height: 100, borderRadius: 10 }}>
<Text >{item.item.title}</Text>
</TouchableOpacity>}
/>
檢查該項目實際上試圖按照 deidu 建議顯示的內容。
添加回答
舉報