@table-library/react-table-library

react-table-library

Usage no npm install needed!

<script type="module">
  import tableLibraryReactTableLibrary from 'https://cdn.skypack.dev/@table-library/react-table-library';
</script>

README

React Table Library

Version Size type-badge License Code of Conduct Changelog

Tweet Follow Star Sponsor

React Table Library -- yet another table library for React -- which prioritzes:

  • composition over configuration
  • customization
  • extensibility
  • server-side
  • developer experience

Documentation

Requirements

React Table Library requires the following libraries to be installed:

  • "react": "^16.8.0 || ^17"
  • "react-dom": "^16.8.0 || ^17"
  • "styled-components": ">= 4"

Installation

npm install @table-library/react-table-library styled-components
yarn add @table-library/react-table-library styled-components

The Problem

You find yourself looking for a fitting table component which solves your problem, but you cannot find the one solution which comes with all the desired features yet stays customisable for a pleasant developer experience. Personally I ran into this problem myself after working with lots of different React table components -- from UI libraries but also as standalone libraries -- and none of them felt right to me. After working on React tables for three different clients of mine over the past year, I decided to roll my own solution for them. I came to the conclusion that the React ecosystem needs another table library -- which does things right.

The Solution

In 2020, Robin Wieruch created React Table Library in collaboration with Big Ladder Software. After working with different table libraries to fit their needs, they decided to roll their own solution with the following subjects in mind ...

  • composition over configuration
  • customization & extensibility
  • server-side operations (e.g. search, pagination) as first-class citizen
  • developer experience

How is this different from other React Table Libraries?

There are two kinds of table libraries for React: heavyweight and lightweight.

On the one side of the spectrum, there are heavyweight table libraries which are often shipped by UI libraries such as Material UI. These tables have all batteries included, however, they often lack in modern concepts such as composition over configuration, customization, extensibility and first-class server-side operations. When you have to create one giant configuration object for one giant table component, you know that you are working with a heavyweight table library.

On the other side of the spectrum, there are lightweight table libraries. The most popular one is React Table which is a great library and at the time the status quo in the React community. I very much like this library and used it myself, however, when creating complex tables (read: server-side operations, customizations, feature compositions) from scratch, I always felt like re-inventing the wheel all the time, because I didn't receive enough handholding from the library.

With React Table Library I wanted to have something in between heavyweight and lightweight. I wanted to give developers enough handholding for various built-in features, enable them to perform more complex server-side operations, while still keeping them all the flexibility to create their custom table with a composable approach by using components and hooks. I hope you like this library as well and give it a chance for your next project!