나는 React를 배우고 여러 요소 렌더링과 관련된 문제에 직면했다.React Component에서 .map을 사용하여 데이터베이스 배열에서 여러 요소를 렌더링 하시겠습니까?
문제는 내가 Firebase에서 Array의 각 항목에 대해 새 div와 svg를 반환해야한다는 것입니다. 나는 React가 단지 1 요소만을 렌더링 할 것이므로 내 콘텐츠를 래퍼에 넣어야한다고 생각합니다. 또한 .map()을 사용하여 배열을 반복하고 이러한 요소를 생성하는 변수를 만들었습니다.
내가 이해하지 못하는 이유는 배열의 각 항목에 대해 새 div 및 svg를 반환하지 않는 이유는 무엇입니까? 대신, 그것만이 1 div와 svg를 생성합니까? 배열에는 폴더 이름 목록이 들어 있습니다.
도움을 주시면 감사하겠습니다.
class SidebarPrivateFolders extends React.Component {
constructor(props) {
super(props)
}
render() {
let list = this.props.data.map((currentObj) => {
return (
<div>
<svg className="sidebar-icon">
<use xlinkHref={currentObj.xlinkHref}></use>
</svg>
<div className="public-folders">{currentObj.name}</div>
</div>
);
});
return (
<div className="sidebar-section">
<div className="sidebar-section-wrapper">
{list}
</div>
</div>
);
}
}
Console.log (this.props.data)는 다음 스크린 샷을 반환합니다.
'this.props.data'의 샘플 데이터를 게시 할 수 있습니까 –
도움이됩니까? – u111937
데이터는 단지 하나의 요소를 가진 배열입니다. 어쩌면 당신은'data [0] .name [0] .map (fn)'을 원할 수도 있습니다. – azium