ری اکت(ReactJS)

استفاده از React Table

آموزش استفاده از ماژول React Table

استفاده از React Table، در این مقاله آموزش استفاده از ماژول React Table و متدهای آن را به همراه مثال ارائه خواهیم داد.

npm-react-table

npm-react-table

 

برای نصب این ماژول از دستور زیر استفاده می کنیم:

				
					npm i react-table
				
			

برای نمایش جدول نیاز به داده داریم که در اینجا من از داده های فیک استفاده کردم.

داده ها رو در فایلی به نام “FakeData” ذخیره و در کامپوننت “import” کردم.

شما می تونید از هر فایل دیتای دیگری استفاده کنید.

در مرحله اول سر ستون های جدول رو مشخص می کنیم. در مرحله دوم پارامترهایی رو که برای ایجاد محتوای جدول نیاز داریم از ماژول استخراج می کنیم(خط کد 25) در نهایت داده ها رو با استفاده از متد “map” واکشی می کنیم و نمایش میدیم.

				
					import { useTable } from "react-table";
import { UsersData } from "./FakeData";
import * as React from "react";

function App() {
  const data = React.useMemo(() => UsersData, []);
  const columns = React.useMemo(
    () => [
      {
        Header: "ID",
        accessor: "id",
      },
      {
        Header: "NAME",
        accessor: "name",
      },
      {
        Header: "USERNAME",
        accessor: "username",
      },
    ],
    []
  );

  const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow } =
    useTable({ columns, data });

  return (
    <>
      <div className="container">
        <table {...getTableProps()} className="text-center">
          <thead className="bg-cyan-500">
            {headerGroups.map((headerGroup) => (
              <tr {...headerGroup.getHeaderGroupProps()}>
                {headerGroup.headers.map((column) => (
                  <th {...column.getHeaderProps()}>
                    {column.render("Header")}
                  </th>
                ))}
              </tr>
            ))}
          </thead>
          <tbody {...getTableBodyProps()} className="p-4">
            {rows.map((row) => {
              prepareRow(row);
              return (
                <tr {...row.getRowProps()}>
                  {row.cells.map((cell) => (
                    <td {...cell.getCellProps()}>{cell.render("Cell")}</td>
                  ))}
                </tr>
              );
            })}
          </tbody>
        </table>
      </div>
    </>
  );
}

export default App;

				
			

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *