jameskerr/react-arborist

The complete tree view component for React

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 7 minutes ago
Type:Library / SDKCategory(s):UI Components & Design SystemsWeb Development
Added to GitGenius on September 18th, 2026
Created on September 2nd, 2021
Open Issues & Pull Requests: 68 (+0)
GitHub issues: Enabled
Number of forks: 186
Total Stargazers: 3,707 (+0)
Total Subscribers: 14 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 13.2 days
Mean response time: 85.5 days
90th percentile: 276.3 days
Tracked items: 126

Most active contributors

Sign in to see contributor activity.

How this project is maintained

77% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 88% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 57
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 926 days
Stale 30+ days: 55
Stale 90+ days: 54

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (56)
  • bug (27)
  • question (24)
  • documentation (5)
  • duplicate (4)
  • needs-info (4)
  • good first issue (3)
  • demo (2)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

React Arborist is a tree view component for React that provides a complete solution for building hierarchical data interfaces like file explorers or layer panels.

The tool addresses the need for a fully-featured tree component by offering drag-and-drop sorting, folder expansion and collapse, inline renaming, virtualized rendering for performance, keyboard navigation, and ARIA attributes for accessibility. It supports both controlled and uncontrolled component patterns, allowing developers to either let the tree manage its own state or handle data modifications themselves. The library includes tree filtering with customizable search matching, selection synchronization across the application, and callbacks for scroll, activation, and selection events. Custom rendering is available for complete control over appearance, and the component handles the complexities of tree operations like move index calculation through exported helpers.

Developers should choose this tool when building interfaces that require a polished, accessible tree view with rich interactions. It suits projects ranging from simple file browsers to complex layer panels in design applications. The library provides sensible defaults for quick implementation while offering extensive customization options for projects with specific styling or behavior requirements. The README demonstrates this flexibility through examples ranging from minimal setup to fully controlled trees with custom rendering.

The project maintains active engagement with issues and pull requests, addressing specific edge cases like the pre-removal slot behavior in move operations. Development includes comprehensive documentation with multiple working examples and CodeSandbox demos covering different use cases. The codebase is written in TypeScript, providing type safety for integration. The tool includes detailed API documentation covering props like idAccessor and childrenAccessor for adapting to different data structures, and exports utility functions like adjustMoveIndex to help developers handle complex state management scenarios correctly.