首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >未定义的TypeError:无法读取未定义的属性(读取'poster_path')

未定义的TypeError:无法读取未定义的属性(读取'poster_path')
EN

Stack Overflow用户
提问于 2022-02-15 18:04:26
回答 4查看 1.8K关注 0票数 0

我有一个异步函数,它从API中获取数据,但是当我使用该数据时,它会得到一个未定义的类型错误。但是,我使用"&&“来告诉它,如果它是空的,那么不要执行这个块,但是它仍然会给出错误。我也是用三元操作符做的,但还是一样的。

下面是使用效果钩子,它从API中获取数据。

代码语言:javascript
运行
复制
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]);

这是这个元素的代码

代码语言:javascript
运行
复制
{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>
}
EN

Stack Overflow用户

发布于 2022-02-15 18:19:36

我确实获取了这样的数据:

代码语言:javascript
运行
复制
useEffect(()=>{
  (async () => {
    const request = await axios.get(fetchUrl);
     setMovies(request.data.results); 
  })()
},[fetchUrl])

你应该检查电影是否为空。在返回中添加

代码语言:javascript
运行
复制
{movies.length > 0 && // What you want to do with movies.}
票数 2
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71131294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档