React/JSX - 在对象中找不到地图 属性

React/JSX - map property not found in object

我是 React 框架的新手。我遇到了问题,需要一些帮助。

API 调用将生成一个包含多个对象行的对象。 我想在该对象上使用地图来渲染 div。

export default class SearchResult extends Component {

   static propTypes = {
       courses:React.PropTypes.object, 
   }

  render() {

     ....
     this.props.courses.map( entity => renderEntity(entity));
     ...
  }
}

我遇到一个错误,指出地图不是 属性。在 google 中搜索后,我发现对象没有地图 属性。只有数组才有。

谁能帮帮我 1) 我如何获得地图功能/等效功能。我想要做的就是为对象中的每个元素渲染一组 html 标签。这是为了开发一个搜索结果。 2)我可以将对象转换为数组吗?那是必需的吗。 3) if (this.props.courses) 总是被证明是真的,因为它已经初始化了 proto。在那种情况下,我将如何检查课程是否真的有数据。 courses.length 等没有工作,因为它没有任何 属性 长度,也不是数组。

Object console log output 注意:- 这是我在 Whosebug 中的第一个问题。如果您发现任何错误,请忽略。

在此先感谢您的帮助。 塞什

不仅仅是一个 React 问题,这是一个纯 JS 问题。如果您需要循环遍历对象的值,那么像这样的东西应该可以正常工作:

Object.keys(this.props.courses).map(course => renderEntity(this.props.courses[course]))

作为对未来此类问题的建议,请始终开始寻找 here, in this specific case this,是您问题的理想之选。