react table layout을 통해 table을 계속 만들지는 말아보자

YOUNGJOO-YOON·2021년 9월 30일
0

react with webpack 5

목록 보기
35/37
post-custom-banner

TableLayout.jsx

import React from 'react';
import { TableContainer, Table, TableBody, TableCell,TableHead, TableRow, Paper } from '@material-ui/core';

export default function TableLayout({tableProps, tableHeaderData, data}){
    return(
        <TableContainer component={Paper}>
            <Table {...tableProps}>
            <TableHead>
                <TableRow>
                    {tableHeaderData.map((header,index)=>{
                        return(
                            <TableCell key={header+index}>{header}</TableCell>
                        )
                    })}
                </TableRow>
            </TableHead>
            <TableBody>
                {data.map((value,index)=>(
                    <TableRow key={index+'row'}>
                        {tableHeaderData.map((column,index)=>{
                            return(
                                <TableCell>{value[column]}</TableCell>
                            )
                        })}
                    </TableRow>
                ))}
            </TableBody>
            </Table>
        </TableContainer>
    )
}

mock data


export const mockHeaders = [
    'id',
    'name',
    'age'
];


export const mockBodies = [
    {id:'A man', name:'hoho', age:3},
    {id:'B woman', name:'SSH', age:111},
    {id:'C Dog', name:'CAR', age:1}
]

사용 시

<TableLayout tableHeaderData={mockHeaders} data={mockBodies}/>

같은 코드를 계속 그리지 말아보자

profile
이 블로그의 글은 제 생각을 정리한 글과 인터넷 어딘가에서 배운 것을 정리한 글입니다. 출처는 되도록 남기도록 하겠습니다. 수정 및 건의 오류 등이 있으면 언제든지 댓글 부탁드립니다.
post-custom-banner

0개의 댓글