Git Product home page Git Product logo

react-table's Introduction

React Table Header

React Table v8 (alpha)

This is an alpha version of React Table v8. It is not ready for production use, but it is ready to be taste-tested!

Looking for version 7? Click here!

Hooks for building lightweight, fast and extendable datagrids for React

#TanStack semantic-release Join the discussion on Github

Enjoy this library? Try them all! React Query, React Form, React Charts

Visit /docs for docs, guides, API and more!

Quick Features

  • ~14kb or less (with tree-shaking)
  • 100% TypeScript (but not required)
  • Headless (100% customizable, Bring-your-own-UI)
  • Auto out of the box, opt-in controllable state
  • Filters (column and global)
  • Sorting (multi-column, multi-directional)
  • Grouping & Aggregation
  • Pivoting (coming soon!)
  • Row Selection
  • Row Expansion
  • Column Visibility/Ordering/Pinning/Resizing
  • Table Splitting
  • Animatable
  • Virtualizable
  • Server-side/external data model support

Notable Changes

  • Full rewrite to TypeScript
  • Removal of plugin system to favor more inversion of control
  • Vastly larger and improved API
  • Better controlled state management
  • Better support for server-side operations
  • Agnostic Core (+ other framework adapters!)

Migration

Currently migration will involve rewrites to:

  • Any table logic and API surrounding the useTable hook
  • Any custom plugins must be rewritten to wrap/compose the new useTable hook
  • Table markup API must be rewritten to use the new API. Don't worry, this is not as big of a deal as it sounds :)

Todo (in order of priority)

  • Rewrite Core
    • Core
    • Columns
    • Headers
    • Visibility
    • Pinning
    • Filters
    • Sorting
    • Grouping
    • Expanding
    • Column Sizing
    • Pagination
    • Row Selection
  • Migrate Examples
    • column-visibility
    • column-ordering
    • column-pinning
    • basic
    • filters
    • sorting
    • pagination
    • column-sizing
    • row-selection
    • expanding
    • grouping-and-aggregation
    • editable-data
    • kitchen-sink
    • row-dnd
    • streaming-rows
    • sub-components
    • virtualized-rows
    • absolute-layout
    • block-layout
    • animated-framer-motion
    • bootstrap
    • bootstrap-ui-components
    • data-driven-classes-and-styles
    • full-width-resizable-table
    • full-width-table
    • material-ui-components
    • material-UI-enhanced-table
  • Documentation
    • API
      • Core
      • Columns
      • Headers
      • Visibility
      • Pinning
      • Filters
      • Sorting
      • Grouping
      • Expanding
      • Column Resizing
      • Pagination
      • Row Selection
    • Guides
      • Core
      • Columns
      • Headers
      • Visibility
      • Pinning
      • Filters
      • Sorting
      • Grouping
      • Expanding
      • Column Resizing
      • Pagination
      • Row Selection

Installation

npm install @tanstack/react-table@alpha
# or
yarn add @tanstack/react-table@alpha

How to help?

  • Try out the already-migrated examples
  • Try it out in your own projects.
  • Introspect the types! Even without the docs finished, the library ships with 100% typescript to help you explore its capabilities.
  • Read the contribution guidelines
  • Write some docs! Start with the API docs and try adding some information about one or more of the features. The types do a decent job of showing what's supported and the capabilities of the library.
  • Try your hand at migrating an example to v8! The todo list for the examples is above!
  • Using a plugin? Try rewriting your plugin (v8 doesn't have a plugin system any more) as a wrapping hook/function that uses useTable internally. The new API is much more powerful and easier to compose. If you find something you can't figure out, let us know and we'll add it to the API.

Become a Sponsor

react-table's People

Contributors

aaronschwartz avatar aaryn101 avatar androsj avatar aviaviavi avatar brianmitchl avatar centrodph avatar christianmurphy avatar codar97 avatar coderberry avatar david-crespo avatar davidjb avatar ddinenno avatar dependabot[bot] avatar einomi avatar frankolson avatar gargroh avatar gary-menzel avatar ggascoigne avatar grsmto avatar huboneo avatar hyzhak avatar kevinvandy avatar kizu avatar larrybotha avatar marvinthepa avatar mikedevita avatar size-plugin[bot] avatar stramel avatar tannerlinsley avatar tremby avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.