데이터 및 표제를 소품으로 사용하는 React 구성 요소를 만들려고합니다. 나는지도의 forEach
메쏘드가 필요한 자식 요소를 생성하지 못하게하는 문제를 겪었다.왜 ES6 맵을 통해 iterating이 ReactJS에서 자식 요소를 생성하지 않습니까?
열에 대한 입력 소품은 다음과 같습니다 : 여기
let cols = {
payment: 'Payment',
date: 'Processing Date',
amount: 'Amount',
payee: 'Payee'
};
는 제목 요소를 생성 내 반작용 테이블 구성 요소의 메서드입니다 :
generateTableHead() {
let columnsMap = new Map((Object.entries(this.props.columns)));
let i = 0;
return (
<tr>
{columnsMap.forEach((columnValue) =>
<th key={i++}>
{columnValue}
</th>
)}
</tr>
);
}
문제가있는 <th>
아이들은 '돈 있음 반환 된 <tr>
개체에 존재하지 않습니다. 나는 emtpy <tr></tr>
를 얻는다.
그러나 Array.prototype.map을 사용하면 자식 <th>
요소가 제대로 만들어집니다. 코드가 차라리 두 번째 버전에서 배열 인덱스를 사용하는 대신 Map 객체에 키와 값을 참조 할거야 때문에 약간 더 이해하기 때문에
generateTableHead() {
let columnsArray = Object.entries(this.props.columns);
return (
<tr>
{columnsArray.map((column, index) =>
<th key={index}>{column[1]}</th>
)}
</tr>
);
}
나는 첫 번째 버전을 선호합니다.
매우 간단한 설명이 있거나 확실하지 않은 매우 간단한 오류가 발생했습니다. 누구든지이 문제를 지적 할 수 있다면 크게 고맙겠습니다!
'반환'하려고하면 어떨까요? 나는 그것이 언제 필요한 것인지 아닌지 모르지만, 아마도 그것은 그것에 영향을 미치고 있습니다. – TankorSmash