Я видел распространенную ошибку, и я пробовал разные решения безрезультатно.
Это мой код до сих пор, редко работает, и выборка возвращает правильный массив фильмов, но в большинстве случаев это отправив обратно ошибку:
import React, { useState, useEffect } from "react";
import { Text, View, Image, ScrollView, ActivityIndicator } from "react-native";
function Dashboard() {
const [loading, setLoading] = useState(true);
const [popularMovies, setPopularMovies] = useState([])
const popularMoviesUrl =
".....";
const fetchMovies = () => {
fetch(popularMoviesUrl)
.then(res => res.json())
.then(setPopularMovies)
.then(console.log(popularMovies));
};
useEffect(() => {
fetchMovies();
}, []);
const { results } = popularMovies;
return loading ? (
<View style={styles.loader}>
<ActivityIndicator size="large" color="#dcae1d" animating />
</View>
) : (
<ScrollView horizontal style={styles.container}>
{results.map(movie => (
<View key={movie.id}>
<Text style={styles.container}>{movie.title}</Text>
<Image
style={styles.poster}
source={{
uri: `https://image.tmdb.org/t/p/w500${movie.poster_path}`
}}
/>
</View>
))}
<Text>thfh</Text>
</ScrollView>
);
}
export default Dashboard;