Javascript 如何在reactjs ES6中的JSONArray上使用.map()函数

Javascript 如何在reactjs ES6中的JSONArray上使用.map()函数,javascript,json,reactjs,ecmascript-6,Javascript,Json,Reactjs,Ecmascript 6,我有一个由服务器返回的JSONArray。我想在上面使用.map(),这样我就可以得到该数组中每个对象的键、值对。我已经写了以下代码,但我得到错误“files.map不是一个函数”。谁能帮我解决这个问题 showUploadedFiles() { const page = 1; const items_per_page = this.state.event.file_ids.length; getAllTaskFiles(this.state.event.id, pa

我有一个由服务器返回的JSONArray。我想在上面使用.map(),这样我就可以得到该数组中每个对象的键、值对。我已经写了以下代码,但我得到错误“files.map不是一个函数”。谁能帮我解决这个问题

showUploadedFiles()
  {
    const page = 1;
    const items_per_page = this.state.event.file_ids.length;
    getAllTaskFiles(this.state.event.id, page, items_per_page).then((allFiles) => {
      this.renderUploadedFiles(allFiles);
    });

  }

  renderUploadedFiles(files)
  {
    let details = null;
    details = files.map((singleFile) => {
    return (
      <div>
        <a href="#" >{singleFile.filename}</a> 
        <a href="#" >{singleFile.file_path}</a>
      </div>
      );
    });
  }  

正如其他用户所指出的,您必须使用
JSON.parse()
从字符串中获取对象。下面是将文件存储在数组中的代码片段

var str='[{“file_id”:5224879255191552,“filename”:“children_walk_friends_forest_116878_3840x2160.jpg”,“file_path”:“/api/files/encoded_gs_file%3adhy2tpbmctyxbpl3yxl2fjy291bnrzlzu2mjk0otk1mzqqymtmxmxmjavdgzfza3vdk5nj4nj0nc81mj0odc5mj5mjjjjju1mtxxnj2trtyl2p9pnkk3xjj2pj2jjjjj2jjjjj2j2j2j2j2j2j2j2j2j2j2j2j2j2j2j2j:“banner_old.jpg”,“file_path”:“/api/files/encoded_gs_file%3ADHJHY2TPBMCTYXBPL3YXL2FJY291BNRZZU2MJK0OTK1MZQYMTMXMJAVDGFZA3MVNDK5NJE4MDGZNJXNDE0NC80OTQZNDA0MJ4NDGwODK2LZHA2UTCMJJBDBVfZVRTRUV2ME1XZZ09”];
var files=JSON.parse(str);
var details=files.map((单文件)=>{
返回(
);
});
控制台日志(详细信息)
。作为控制台包装{最大高度:100%!重要;顶部:0;}


您确定
所有文件
文件
都是数组吗?你在
.map()
之前试过
console.log()
吗?@Nocebo是的,我发布的JSONArray实际上是console.log给我的。现在试一下
console.log(文件类型)
看看它说什么我认为我应该首先解析它。我说的对吗?是的,使用JSON.parse(files.map())
[{"file_id": 5224879255191552, "filename": "children_walk_friends_forest_116878_3840x2160.jpg", "file_path": "/api/files/encoded_gs_file%3AdHJhY2tpbmctYXBpL3YxL2FjY291bnRzLzU2Mjk0OTk1MzQyMTMxMjAvdGFza3MvNDk5NjE4MDgzNjYxNDE0NC81MjI0ODc5MjU1MTkxNTUyL2Zha2UtemRNeklhZ1RTYl9PN3RXY2pXbkhVQT09"}, {"file_id": 4943404278480896, "filename": "banner_old.jpg", "file_path": "/api/files/encoded_gs_file%3AdHJhY2tpbmctYXBpL3YxL2FjY291bnRzLzU2Mjk0OTk1MzQyMTMxMjAvdGFza3MvNDk5NjE4MDgzNjYxNDE0NC80OTQzNDA0Mjc4NDgwODk2L2Zha2UtcmJjbDBVdVFzVmZkMjRtRUV2ME1xZz09"}]