2017-05-01 4 views
0

로다시지도를 사용하여 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의 오류이가

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

저에게 도움이되고 있습니다. https://codepen.io/ashafir20/pen/ybbjzZ?editors=1010 – radix

+0

@radix 'April'을 표시하려면 어떻게해야합니까? –

답변

1

lodash map이 작업을 수행하는 방법을 알고하지 마십시오, 내가이 제안 할 수처럼 groupedByMonths 구조의 모양을 가지고 :

{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]}을 사용하십시오.

+0

아니, 4 월은 동적 인 선생님입니다. 내 달과 항목을 보여줘야 해. –

+0

4 월, 5 월 및 6 월이있는 달을 어떻게 표시 할 수 있습니까? –

+0

@ AlanJenshen 업데이트 된 답변을 확인하고, lodash 맵을 사용하는 방법을 모른다면, 다음과 같이 작동합니다 : –