react-native - 如何使用嵌套的 flatlist 或 sectionlist?
问题描述
我正在尝试创建嵌套平面列表,但渲染时发生错误。我看不出有什么错误。我的数组就像(包含那个学期的学期和讲座)
Array [
Object {
"semester": "1",
"lectures": Array [
Object {
"grade": "BA",
"id": 0,
"lecture": "TÜRK DİLİ",
},
Object {
"grade": "DC",
"id": 2,
"lecture": "FIZIKI",
},
Object {
"grade": "AA",
"id": 4,
"lecture": "BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ",
},
Object {
"grade": "BB",
"id": 6,
"lecture": "MATEMATIKI Zorunlu сс 6 İNGİLİZCE",
},
Object {
"grade": "DD",
"id": 8,
"lecture": "NESNEYE DAYALI PROGRAMLAMA",
},
Object {
"grade": "AA",
"id": 10,
"lecture": "WEB TEKNOLOJİLERİ",
},
],
},
]
还有我的平面列表组件:
<FlatList
data={transcript}
renderItem={({ item }) => (
<View>
<Text>{item.semester}</Text>
<FlatList
data={item.lectures}
renderItem={({ item2 }) => (
<View>
<Text>{item2.lecture}</Text>
</View>
)}
keyExtractor={(item2) => item2.id.toString()}
/>
</View>
)}
keyExtractor={(item) => item.semester.toString()}
/>
我得到的错误:
[Unhandled promise rejection: TypeError: undefined is not an object (evaluating 'item2.lecture')]
无论如何,<Text>HEY</Text>
而不是<Text>{item2.lecture}</Text>
像预期的那样工作。
当我像这样使用sectionlist
<SectionList
sections={transcript}
renderItem={({ item }) => <Text> {item.lecture}</Text>}
renderSectionHeader={({ section }) => <Text>{section.semester}</Text>}
keyExtractor={(item, index) => index}
/>
我收到错误
TypeError: undefined is not an object (evaluating 'items.length')
解决方案
推荐阅读
- vue.js - 我可以用 v-main 删除它吗?
- sql-server - 将 SSIS 包部署模型转换为项目部署模型
- javascript - 以特定顺序从数组中的 API 获取数据
- python - 创建缩略图 Python Django
- python - 如果一列高于 35,则需要根据前一列输出将不同的列更改为 1 或 0。Python
- html - 使用 CSS 将 DIV 向下浮动,但会破坏现有的内容行
- regex - 如何减少这个正则表达式以适应 Lua?
- ubuntu - Byobu 会话过早退出
- node.js - 为什么我的 req.files 总是 null 而 req.body 有文件:使用 express-fileupload/reactjs 上传文件
- php - Laravel如何计数在多对多关系中没有项目