Для L oop в React Native Render - PullRequest
       8

Для L oop в React Native Render

1 голос
/ 24 февраля 2020

Я пытаюсь передать несколько массивов через для l oop в методе рендеринга и отрисовать эти данные с помощью 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')

У кого-нибудь есть мысли?

1 Ответ

1 голос
/ 25 февраля 2020

Я разобрался.

Я пропустил элементы через плоский список следующим образом:

        <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>
)
}

Спасибо, ребята,

...