如何解决React Native FlatList仅渲染1个对象
我一直在努力在FlatList中渲染此对象。请有人帮我。 FlatList中有2个对象,但由于某种原因它仅渲染1个对象
peopleArray
Const peopleArray = [
"id": "U1600078348291","People": [
{
"number": "4","value": "Jack Sparrow",},{
"number": "6","value": "Daniel Roberts",],]
我尝试了以下操作,但没有用
首次尝试
<FlatList
data={Object.keys(obj)}
keyExtractor={(item,index) => item.index}
/>
第二次尝试
FlatList
data={peopleArray}
keyExtractor={(item) => item.id}
renderItem={({item})=><Text>{item.index.key.value}</Text>}
/>
第三次尝试 该方法有效,但仅显示两个对象中的一个
<FlatList
data={peopleArray}
keyExtractor={(item) => item.id}
renderItem={({item})=>{<Text>{item[index].value}</Text>}}
/>
第四次尝试
<FlatList
data={peopleArray}
keyExtractor={(item) => item.id}
renderItem={({item})=>{<Text>{item.value}</Text>}}
/>
我的代码:
const People = (props) => {
const peopleArray = props.navigation.getParam('people')
const renderPeople = ({item}) => {
return <Text>{item[index].value}</Text>
};
return (
<FlatList
data={peopleArray}
keyExtractor={(item) => item.id}
renderItem={renderPeople}
/>
);
};
解决方法
根据“我的代码”部分,您希望从“人”中创建列表。 您的 FlatList 应该看起来像这样:
<FlatList
data={peopleArray}
keyExtractor={(item) => item.id}
renderItem={renderPeople}
/>
和 renderPeople 像这样:
const renderPeople = ({item}) => (
<View>
{
item.People.map(person => <Text>{person.value}</Text>)
}
</View>
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。