Привет! Я пытаюсь отобразить данные из API в Flatlist, но продолжаю получать сообщение об ошибке «Инвариантное нарушение: недопустимый тип элемента: ожидается строка (для встроенных компонентов) или класс / функция длясоставные компоненты, но получили неопределенные. Скорее всего, вы забыли экспортировать компонент из файла, в котором он определен, или вы могли смешать импорт по умолчанию и имена. Проверьте метод рендеринга 'Query'.
Я пытался использовать исходные данные, а затем статические данные массива элементов JSON. Я также попытался вернуть элемент Text, и это работает, но как только я попробую FlatList, я получаю сообщение об ошибке выше. Вы можете увидеть закомментированный исходный код и тестовый код, который я пробовал во фрагменте кода ниже.
render() {
const DATA = [
{
id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',
title: 'First Item',
},
{
id: '3ac68afc-c605-48d3-a4f8-fbd91aa97f63',
title: 'Second Item',
},
{
id: '58694a0f-3da1-471f-bd96-145571e29d72',
title: 'Third Item',
},
];
function Item({ title }) {
return (
<View>
<Text>{title}</Text>
</View>
);
}
const TestQuery = () => (
<Query query={tasksList}>
{({ loading, error, data, fetchMore }) => {
if (loading) return <Text>Loading...</Text>;
if (error) return <Text>Error </Text>;
//return <Text>{JSON.stringify(data.getAllTasksExt.items)}</Text>
return <FlatList
data={DATA}
//data={data.getAllTasksExt.items}
renderItem={({item})=> <Item title={item.title} />}
/>
}
}
</Query>
);
return (
<SafeAreaView>
<TestQuery/>
</SafeAreaView>
)
}
}