
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
react-tablenex
Advanced tools

Say goodbye to the hassle of <tr> and <td> chaos—TableNex offers an effortless, customizable, and responsive solution for modern tables. Built with React and TypeScript, it’s perfect for lists, dashboards, or complex datasets.
Install via npm:
npm install react-tablenex
Here’s a simple table: Next, import the component and its CSS in your file:
Here’s a simple example to get you started. This creates a basic table with some employee data:
import TableNex from "react-tablenex";
import "react-tablenex/style.css";
function MyTable() {
const data = [
{
id: 1,
name: "John",
age: 28,
job: "Coder",
salary: 75000,
location: "New York",
country: "USA",
},
{
id: 2,
name: "Jane",
age: 34,
job: "Designer",
salary: 85000,
location: "San Francisco",
country: "USA",
},
];
return <TableNex data={data} />;
}
export default MyTable;
data: An array of objects where each object is a row.Save this in a .jsx or .tsx file, run your app, and you’ll see a table!
TableNex comes with many options (props) to customize your table. Here’s a beginner-friendly breakdown:
| Prop | Type | Default | Description |
|---|---|---|---|
data | Object[] | Required | Your table data as an array of objects (e.g., [{ id: 1, name: "John" }]). |
columns | TableColumn[] | [] | Defines table columns (e.g., { accessor: "name", header: "Name" }). |
keyField | string | { keyId: string; isVisible: boolean } | { keyId: "id", isVisible: true } | The unique field in data (e.g., "id") or an object with keyId (the key) and isVisible (whether to show the column) for row identification. |
fixedColumns | string[] | [] | Columns to "stick" (stay visible when scrolling). |
styledRows | StyledRow[] | [] | Custom styles for specific rows by their key value. |
styledColumns | StyledColumn[] | [] | Custom styles for specific columns by their accessor. |
expandedRows | ExpandedRow[] | [] | Extra rows that expand below specific rows. |
footer | FooterRow[] | [] | Rows to show at the bottom of the table. |
noDataMessage | string or ReactNode | "No data found" | What to show if data is empty. |
colorScheme | Partial<ColorScheme> | See below | Colors for the table (e.g., { PRIMARY: "#fff" }). |
responsive | boolean | false | Makes the table adapt to mobile screens. |
styles | Partial<TableStyles> | See below | Controls spacing, borders, and rounded corners. |
colorScheme{
"PRIMARY": "transparent",
"SECONDARY": "#aac6f73b",
"ACCENT": "#aac6f73b",
"BORDER": "#aac6f757",
}
styles{
"rounded": "sm",
"spacing": "md",
"columnBorder": "none",
"rowBorder": "sm",
"fontSize": "0.9rem"
}
Tip: Use
"sm","md","lg","xl", or"none"forrounded,spacing,columnBorder, androwBorder.
A more advanced table with responsive design and a footer:
import TableNex from "react-tablenex";
import "react-tablenex/style.css";
function FullTable() {
const data = [
{
employeeId: 1,
name: "John",
salary: 75000,
location: "New York",
country: "USA",
},
{
employeeId: 2,
name: "Jane",
salary: 95000,
location: "San Francisco",
country: "USA",
},
];
const columns = [
{ accessor: "employeeId", header: "Employee ID" },
{ accessor: "name", header: "Employee" },
{ accessor: "salary", header: "Salary ($)" },
{ accessor: "location", header: "Location" },
{ accessor: "country", header: "Country" },
];
const footer = [
{
cells: [
{ content: "Total", style: { fontWeight: "bold" }, colSpan: 4},
{ content: "$170,000" },
],
},
];
return (
<TableNex
data={data}
keyField="employeeId"
columns={columns}
footer={footer}
responsive={true}
styles={{ rounded: "lg", spacing: "lg", columnBorder: "sm" }}
/>
);
}
export default FullTable;
responsive={true} makes it mobile-friendly.footer shows a summary row.styles adjusts the look with larger corners and spacing.keyField Note"id". Set it to a unique column (e.g., "employeeId") if your data uses something else. It’s key for features like styling rows or expanding content.fixedColumns={["orderId"]}.expandedRows={[{ afterRowKey: "#1001", element: <div>Details</div> }]}.footer={[{ cells: [{ content: "Total" }] }]}.className (e.g., !bg-red-500) in styledRows/styledColumns.TableNex uses CSS custom properties for easy theming. You can:
"react-tablenex/style.css".<TableNex
data={data}
colorScheme={{ PRIMARY: "#f0f0f0", BORDER: "#000" }}
styles={{ fontSize: "1rem", rowBorder: "lg" }}
/>
.tablenex_table, .tablenex_row, etc., from your own stylesheet.Check your browser’s developer tools to see all available classes!
Happy coding with TableNex!
FAQs
A next-gen React table component that simplifies data display
We found that react-tablenex demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.