我有一个异步函数,它从API中获取数据,但是当我使用该数据时,它会得到一个未定义的类型错误。但是,我使用"&&“来告诉它,如果它是空的,那么不要执行这个块,但是它仍然会给出错误。我也是用三元操作符做的,但还是一样的。
下面是使用效果钩子,它从API中获取数据。
const [movies, setMovies] = useState([])
useEffect(() => {
async function fetchData() {
const request = await axios.get(fetchUrl);
setMovies(request.data.results);
console.log(movies);
return request;
}
fetchData();
}, [fetchUrl]);这是这个元素的代码
{movies &&
<div id="film-row">
<FilmCard img={`${base_url}${movies[0].poster_path}`} />
<FilmCard img={`${base_url}${movies[1].poster_path}`} />
<FilmCard img={`${base_url}${movies[2].poster_path}`} />
<FilmCard img={`${base_url}${movies[3].poster_path}`} />
<FilmCard img={`${base_url}${movies[4].poster_path}`} />
<FilmCard img={`${base_url}${movies[5].poster_path}`} />
</div>
}发布于 2022-02-15 18:19:36
我确实获取了这样的数据:
useEffect(()=>{
(async () => {
const request = await axios.get(fetchUrl);
setMovies(request.data.results);
})()
},[fetchUrl])你应该检查电影是否为空。在返回中添加
{movies.length > 0 && // What you want to do with movies.}https://stackoverflow.com/questions/71131294
复制相似问题