Я пытаюсь создать FlatList, который содержит массив с объектами, у которых есть массив, и я не могу заставить его работать.
мое сообщение об ошибке:
«Нарушение инварианта: объект недопустим как дочерний элемент React (найдено:
объект с ключами {DATA, MESSAGE, STATUS}). Если вы хотели сделать
коллекция детей использует вместо этого массив
«
но я могу заставить его работать с обычным списком вроде [1,2,3,4]
вот мой код:
import React, { Component } from 'react';
import {StyleSheet, View, Text, StatusBar, TouchableOpacity, FlatList, ActivityIndicator } from 'react-native';
class FilterScreen extends Component {
state = {
data: [{"DATA":[{"filter_id":"44","filter_name":"filter 1"},{"filter_id":"45","filter_name":"filter 2"},{"filter_id":"46","filter_name":"filter 3"},{"filter_id":"47","filter_name":"filter 4"},{"filter_id":"48","filter_name":"filter 5"}],"MESSAGE":"DATA FOUND","STATUS":200}],
}
renderRow = ({item}) => {
return (
<View style={styles.item}>
<Text>{item.DATA.filter_name}</Text> // my error points to this line
</View>
)
}
render() {
return (
<View style={styles.MainContainer}>
<FlatList
data={this.state.data}
renderItem={this.renderRow}
keyExtractor={(item, index) => index.toString()}
/>
</View>
);
}
}
const styles = StyleSheet.create({
MainContainer: {
marginTop:50,
},
});
export default FilterScreen;
Я хочу, чтобы мой FlatList распечатал имя_фильтра, как это
фильтр 1
фильтр 2
фильтр 3
фильтр 4
фильтр 5