whatisgithub

What is react-arborist?

jameskerr/react-arborist — explained in plain English

Analysis updated 2026-05-18

3,636TypeScriptAudience · developerComplexity · 2/5Setup · easy

In one sentence

A React component for building fast, VS Code style tree-view panels with drag and drop, search, and virtualized scrolling.

Mindmap

mindmap
  root((react-arborist))
    What it does
      Tree view component
      Drag and drop reorder
      Virtualized rendering
    Tech stack
      React
      TypeScript
    Use cases
      File explorer sidebar
      Layers panel
      Nested folder search
    Audience
      React developers
      UI builders
      Dashboard makers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a VS Code style file browser sidebar inside a React app.

USE CASE 2

Add a layers panel to a design or editing tool with drag and drop reordering.

USE CASE 3

Let users search a large nested list and auto-expand matching folders.

USE CASE 4

Render a tree with thousands of items without slowing down the browser.

What is it built with?

ReactTypeScript

How does it compare?

jameskerr/react-arboristcsfrequency/react-firebase-hooksnuxt/content
Stars3,6363,6373,637
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasyeasyeasy
Complexity2/52/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

So what is it?

React Arborist is a library for building tree-view panels inside React applications. Think of the folder sidebar in VS Code, the file browser in Mac Finder, or the layers panel in a design tool like Figma. If you need that kind of collapsible, nested list in your app, this library gives you a ready-made component to drop in. The component covers the features you would expect from a professional file tree: opening and closing folders, dragging items to reorder or nest them, renaming items by clicking inline, selecting one or multiple items, and scrolling to a specific item from elsewhere in the app. It also supports keyboard navigation and accessibility attributes, so users who do not use a mouse can still work through the tree. One practical detail is that the list is virtualized. That means even if your tree has thousands of items, only the rows currently visible on screen are actually rendered in the browser. This keeps the interface fast without you having to write any special code for it. You can use the component in two ways. The simpler way is to hand it your data once and let the library manage all edits internally. The more controlled way is to supply your own functions for create, rename, move, and delete, so your app stays in charge of the data. You can also pass a search term and the tree will automatically filter down to matching items, keeping parent folders visible when a child matches. Customization is straightforward. You can swap in your own components for how each row, drag preview, and drop cursor look, or you can set dimensions and spacing through props. The library also accepts custom accessor functions if your data uses different property names for IDs or child arrays, so you are not forced to reshape your existing data to fit a fixed schema.

Copy-paste prompts

Prompt 1
Show me how to install react-arborist and render a basic tree view from a nested array of data.
Prompt 2
Write a React component using react-arborist where users can drag and drop items to reorder and nest them.
Prompt 3
How do I use react-arborist's controlled mode to supply my own create, rename, move, and delete functions?
Prompt 4
Add search filtering to a react-arborist tree so parent folders stay visible when a child item matches.

Frequently asked questions

What is react-arborist?

A React component for building fast, VS Code style tree-view panels with drag and drop, search, and virtualized scrolling.

What language is react-arborist written in?

Mainly TypeScript. The stack also includes React, TypeScript.

How hard is react-arborist to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is react-arborist for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.