javascript - 如何映射对象?

标签 javascript reactjs

constructor(props){
  super(props);

  this.state = {
      posts: [],
  }
}

componentWillMount() {
  fetch("https://newsapi.org/v2/top-headlines?country=us&apiKey=${API_KEY}")
      .then(res => res.json())
      .then(data => this.setState({posts:data}));
}

render() {
  return (
    <div>
      <ul>
        { this.state.posts.map(post => <li key={post.id}>{post.title}</li>) }
      </ul>
    </div>
  )
}

我正在尝试映射此新闻对象的标题,但每当我尝试这样做时,都会收到此错误:TypeError:this.state.posts.map 不是函数。 这是数据中对象的图片:/image/3fnlg.png

最佳答案

使用 Object.keys() 返回对象的数组

{Object.keys(posts).map((item, i) => (
       <li key={i}>{posts[item].title}</li>
))}

关于javascript - 如何映射对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52795576/

相关文章:

javascript - AngularJS 中的非模态/无模式对话框,无需使用 jquery-ui

javascript - 如何使用 jquery 创建可爬取的 Ajax?

reactjs - Serviceworker 且不能在模块外部使用 import 语句

node.js - import * Node 和 React 中的最佳实践

javascript - 使用js代码重定位文本

javascript - 显示条件表行 Angular JS

javascript - 为什么我不能将背景更改为 'true' 或在 Bootstrap 中更改为 'static' 后将其删除?

reactjs - 带有 React 的 Ionic popover - 如何使其粘在按钮上

javascript - Promise 解析时 JSON 输入意外结束

reactjs - 在 AntD 表格单元格内添加 AntD 图标