在响应中显示数组中的 API 数据
Displaying API data from an array within the response
我想知道如何着手显示来自 API 响应的一些数据。
上图是我正在处理的 API 响应。我能够获取名称并显示它,以及封面 URL、ID 和摘要。但是,当涉及到类型和平台时,我不确定如何进入这些数组以获取对象。
这是我分配这些值的方式。
const gameData = result.map((game) => ({
gameId: game.id,
name: game.name,
cover: game.cover,
summary: game.summary,
platforms: game.platforms,
genres: game.genres,
}));
下面是我显示这些结果的方式:
<div key={game.gameId}>
<div className='myHeader'>
<h2>
{game.name}
</h2>
</div>
<div>
<img src={'http:' + game.cover.url} alt={`The cover for ${game.name}`}></img>
</div>
<div>
Genre: {game.genres.name}
</div>
</div>
这不会在控制台中翻转任何错误,但我很确定我实际上没有对响应中的“流派”数组做任何事情。我认为分配不当。
此 post 代码略显浅显(我认为问题出在我 post 编辑的内容上),但如果有所不同,API 调用在 useEffect 挂钩中。我很乐意添加任何可以帮助任何人的代码!
我的问题是,如何解构数组以分配我想要的值?
您正确地分配了 genres
的值,问题在于您如何访问这些值。
您正在尝试访问 name
键,但 genres
是一个数组。
您应该为每个项目映射 genres
和 return 一个 HTML 元素:
{game.genres.map(genre => (<p>{genre.name}</p>) )}
我想知道如何着手显示来自 API 响应的一些数据。
上图是我正在处理的 API 响应。我能够获取名称并显示它,以及封面 URL、ID 和摘要。但是,当涉及到类型和平台时,我不确定如何进入这些数组以获取对象。
这是我分配这些值的方式。
const gameData = result.map((game) => ({
gameId: game.id,
name: game.name,
cover: game.cover,
summary: game.summary,
platforms: game.platforms,
genres: game.genres,
}));
下面是我显示这些结果的方式:
<div key={game.gameId}>
<div className='myHeader'>
<h2>
{game.name}
</h2>
</div>
<div>
<img src={'http:' + game.cover.url} alt={`The cover for ${game.name}`}></img>
</div>
<div>
Genre: {game.genres.name}
</div>
</div>
这不会在控制台中翻转任何错误,但我很确定我实际上没有对响应中的“流派”数组做任何事情。我认为分配不当。
此 post 代码略显浅显(我认为问题出在我 post 编辑的内容上),但如果有所不同,API 调用在 useEffect 挂钩中。我很乐意添加任何可以帮助任何人的代码!
我的问题是,如何解构数组以分配我想要的值?
您正确地分配了 genres
的值,问题在于您如何访问这些值。
您正在尝试访问 name
键,但 genres
是一个数组。
您应该为每个项目映射 genres
和 return 一个 HTML 元素:
{game.genres.map(genre => (<p>{genre.name}</p>) )}