react map返回的对象错误作为React子进程无效

时间:2017-05-01 07:50:48

标签: javascript reactjs lodash

我无法使用lodash的地图渲染jxs。我在我的渲染方法中有这个

return (
    <div>
    {map(groupedByMonths, (obj, index) => 
        <div className="panel">
        <div className="panel-heading">
        {obj}
        </div>
        <div>{obj.price}</div>
        </div>)}
    </div>
    )

但我收到Objects are not valid as a React child错误groupedByMonths结构看起来像这样

{
    "April": [
        {
            "price": 0,
        },
        {
            "price": 12
        },
        {
            "price": 200
        }
    ]
}

1 个答案:

答案 0 :(得分:1)

不知道如何使用lodash map执行此操作,我可以建议:

{Object.keys(groupedByMonths).map((obj, index) => 
     <div className="panel">
         <div className="panel-heading">
             {obj}
         </div>
         {groupedByMonths[obj].map((el, i) => <div key={i}> {el.price} </div>)}
     </div>)
}

当我们使用Object.keys(groupedByMonths)时,它会返回包含所有键的array,我们可以使用map。要打印密钥,请使用{obj}并使用{groupedByMonths[obj]}打印值。