방명록
- 코드 랜더링과 map2022년 05월 11일 10시 15분 44초에 업로드 된 글입니다.작성자: 원2728x90반응형
데이터를 랜더링을 해보고
map을 써서 데이터를 효율적으로 작성해보자
일단 기초 테이블 생성
<App.jsx>import "./App.css"; function App() { return ( <table> <thead> <tr> <th>품목</th> <th>가격</th> </tr> </thead> <tbody> <tr> <td>사과</td> <td>1000원</td> </tr> <tr> <td>감귤</td> <td>2000원</td> </tr> </tbody> </table> ); } export default App;
객체 생성, 랜더링 후의 코드
<App.jsx>import './App.css'; function App() { const obj = { header: ["품종", "가격","수량(개)"], data: [ {fruit: "사과", price: "1000원", ea: "5"}, {fruit: "감귤", price: "2000원", ea: "3"} ] }; return ( <table> <thead> <tr> <th>{obj.header[0]}</th> <th>{obj.header[1]}</th> </tr> </thead> <tbody> <tr> <td>{obj.data[0].fruit}</td> <td>{obj.data[0].price}</td> </tr> <tr> <td>{obj.data[1].fruit}</td> <td>{obj.data[1].price}</td> </tr> </tbody> </table> ); } export default App;
<App.css>table { margin: 100px; border: 1px solid black; border-collapse: collapse; } th, td { border: 1px solid black; }
결과
근데 저런 객체가 수백수만개가 된다면...?
그냥 생각만해도 아찔하다
그래서 map을 써서 넣어보자!
<App.jsx>import './App.css'; function App() { const obj = { header: ["품종", "가격","수량(개)"], data: [ {fruit: "사과", price: "1000원", ea: "5"}, {fruit: "감귤", price: "2000원", ea: "3"}, {fruit: "밀감", price: "1000원", ea: "1"}, {fruit: "바나나", price: "1000원", ea: "7"}, {fruit: "감", price: "1500원", ea: "5"}, {fruit: "메론", price: "10000원", ea: "1"}, {fruit: "포도", price: "5000원", ea: "5"}, {fruit: "배", price: "2000원", ea: "2"} ] }; return ( <table> <thead> <tr> {obj.header.map((product) => { return <th>{product}</th> })} </tr> </thead> <tbody> {obj.data.map((product) => { return ( <tr> <td>{product.fruit}</td> <td>{product.price}</td> <td>{product.ea}</td> </tr> ); })} </tbody> </table> ); } export default App;
결과짜잔
728x90반응형'JS Library > React' 카테고리의 다른 글
조건부 렌더링 (0) 2022.05.11 components에 props 전달 (0) 2022.05.11 JSX (0) 2022.05.11 컴포넌트 생성과 재사용 (0) 2022.05.11 인텔리제이에서 리액트 설정 링크 (0) 2022.05.10 초기 셋팅 링크 (0) 2022.05.10 다음글이 없습니다.이전글이 없습니다.댓글