【问题标题】:React/JSX - map property not found in objectReact/JSX - 在对象中找不到映射属性
【发布时间】:2017-03-27 23:30:13
【问题描述】:

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

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

export default class SearchResult extends Component {

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

  render() {

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

我遇到一个错误,说明地图不是属性。在谷歌搜索后,我发现对象没有地图属性。只有数组有它。

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

Object console log output 注意:-这是我在 stackoverflow 中的第一个问题。如有错误请忽略。

提前感谢您的帮助。 赛斯

【问题讨论】:

  • 你可以直接说 Object.keys(this.props.course).map 并尝试这样渲染

标签: reactjs react-redux jsx react-redux-form


【解决方案1】:

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

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

作为对此类未来问题的建议,请始终开始寻找 here,在这种特定情况下,this 是解决您问题的理想选择。

【讨论】:

    猜你喜欢
    • 2023-03-04
    • 2017-03-16
    • 1970-01-01
    • 2022-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-29
    相关资源
    最近更新 更多