从React中的API数组获取数据

时间:2019-12-17 17:49:36

标签: javascript reactjs mongodb

我有一个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}

我一直惨败,因为我对这段代码进行了很多研究。你们中有人可以给它一些启发吗?任何帮助表示赞赏。预先感谢

2 个答案:

答案 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"}}, {}...],这应该可以完成工作。