import React, { ReactNode } from "react"; import "./Table.scss"; type item = { columnItem1?: string; columnItem1OnClick?: (...args: any[]) => any; columnItem2?: string; columnItem3?: string; }; type TableProps = { children?: ReactNode; textHeader?: string[]; column1?: string; column2?: string; column3?: string; items?: item[]; }; const Table: React.SFC = ({ children, textHeader, column1, column2, column3, items }: TableProps) => { return (
{children}
{textHeader.map((data: string, i: number) => { if (i === 0) return (
{data}
); return
{data}
; })}
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
{column1}
{column2}
{column3}
{items.map((data: item) => (
{data.columnItem1}
{data.columnItem2}
{data.columnItem3}
))}
<
Back
1
2
3
...
12
Next
>
); }; Table.defaultProps = { children: "", textHeader: ["ALL", "UNUSED"], column1: "ISBN", column2: "TITLE", column3: "AUTHOR", items: [ { columnItem1: "1783551623, 9781783551620", columnItem1OnClick: (event: React.MouseEvent) => { console.log("You have clicked me!", event.target); }, columnItem2: "React.js Essentials: A Fast-paced Guide to Designing and Building Scalable and Maintainable Web Apps With React.js", columnItem3: "Artemij Fedosejev" } ] }; export default Table;