【问题标题】:React loop array and rende object反应循环数组和渲染对象
【发布时间】:2017-07-14 05:09:08
【问题描述】:

我正在尝试使用 React 中的 map 函数循环数组。

当我这样做时:

render() {
    return (
      <div>
        {this.props.components.map((vitamin) => {
         <p>{vitamin.ID}</p>
       })}
     </div>
   )
}

什么都没有被渲染。但是,如果我尝试在 map 函数中使用 console.log,对象键如下:

render() {
    return (
      <div>
        {this.props.components.map((vitamin) => {
         console.log(vitamin.ID)
       })}
     </div>
   )
}

维生素 ID 打印在控制台中。所以我知道有一个对象,但是为什么它没有出现在我的 React 组件中?

【问题讨论】:

    标签: javascript reactjs object dictionary render


    【解决方案1】:

    您必须在地图的每次迭代中返回组件/对象:

    render() {
        return (
          <div>
            {this.props.components.map((vitamin) => {
             return(
               <p>{vitamin.ID}</p>
             )
           })}
         </div>
       )
    }
    

    【讨论】:

    • 谢谢。我是新手,总是忘记这些小细节
    • react 也会抱怨 key 属性或缺少
    • 替代方法:this.props.components.map(vitamin =>

      {vitamin.ID}

      )
    猜你喜欢
    • 1970-01-01
    • 2020-05-19
    • 2020-07-04
    • 1970-01-01
    • 2020-03-25
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    相关资源
    最近更新 更多