我有一个React组件,该组件必须检索包含来自API的对象的数组的项目。数组favorites
的结构如下:
0:Object
_id:Object
ObjectId:"5db9cd4a1a088e7756516889"
其中每个项目都保存了名为movies
的集合中特定电影的ID。我一直在尝试使用map
通过这段代码从该数组中获取数据:
{favorites.map(favorite =>
(<li key={favorite}>
<p className="favorites">
{JSON.parse(localStorage.getItem('movies')).find(movie => movie._id === favorite).title}
我一直惨败,因为我对这段代码进行了很多研究。你们中有人可以给它一些启发吗?任何帮助表示赞赏。预先感谢
答案 0 :(得分:0)
{favorites.map(favorite.ObjectId =>
(<li key={favorite.ObjectId}>
<p className="favorites">
{JSON.parse(localStorage.getItem('movies')).find(movie => movie._id === ObjectId).title}
如果收藏夹是包含对象的数组,则表示收藏夹是具有键和值的单个对象。因此,请在循环中选择相关的键。似乎是ObjectId
答案 1 :(得分:0)
{favorites.map(({_id}) =>
(<li key={_id.ObjectId}>
<p className="favorites">
{JSON.parse(localStorage.getItem('movies')).find(movie => movie._id === _id.ObjectId).title}</p></li>)
}
假设JSON结构类似于[{_id: {ObjectId: "abc"}}, {}...]
,这应该可以完成工作。