【发布时间】:2022-02-16 02:54:24
【问题描述】:
我有一个从 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>
}
【问题讨论】:
-
顺便说一句,我真的建议使用
Array.map()来构建您的组件,而不是像这样对索引进行硬编码。见reactjs.org/docs/… -
这只是为了测试。我肯定会使用.map。谢谢
标签: javascript reactjs async-await jsx