用于React Native Render Method中的循环



我正试图通过render方法中的for循环传递几个数组,并使用View来渲染该数据。我在sentry.io中不断收到一个错误"undefined不是对象(正在评估't.number[o]'(">

我是这方面的新手,任何帮助都将不胜感激!

render() {
const userInfo = this.state.userInfo;
const thisArray = this.state.thisArray;
var myloop = [];
for (let i = 0; i < 2; i++) {
const totals = thisArray[i].number;
const yourNumber = userInfo.number[i].enrolledNumber;
myloop.push(
<View key={i}>
<Separator />
<Text style={[styles.content, { fontSize: 20 }]}>
{thisArray[i].name}
</Text>
</View>
)
}
return (
<SafeAreaView style={styles.container}>
<ScrollView>
<View style={styles.container}>
<Text style={styles.txtColor}>Data</Text>
{myloop}
</View>
</ScrollView>
</SafeAreaView>
);
}

我得到以下错误

undefined不是对象(正在评估"thisArray[i].number"(

有人有想法吗?

我想明白了。

我通过一个平面列表传递这些项目,如下所示:

<FlatList
data={this.state.thisArray}
ItemSeparatorComponent={this.FlatListItemSeparator}
renderItem={this.renderItem}
keyExtractor={item => item.name}
/>

然后我通过renderItem方法调用它

renderItem = ({ item}) => {
return (
<View>
<Text style={{ color: "white" }}>{item.name}</Text>
<Text style={{ color: "white" }}>{item.id}</Text>
</View>
)
}

谢谢各位,

最新更新