I needed a tree view for a side project and couldn't find one that handled lazy loading well without dragging in a bunch of dependencies. So I ended up building my own.
lazy-tree-view is a lightweight React component (~7.5 kB gzipped, zero dependencies) for rendering hierarchical data where children load on demand — file explorers, org charts, nested menus, that kind of thing.
It supports:
Lazy loading with built-in loading/error states and automatic retry
Drag & drop reordering with drop validation
Full keyboard navigation (WAI-ARIA compliant)
Imperative API via
reffor controlling the tree from outsideCustom renderers for branches and items
TypeScript first-class support
📦 npm: npmjs.com/package/lazy-tree-view
💻 GitHub: github.com/javierOrtega95/lazy-tree-view
🔗 Interactive demos: javierortega95.github.io/lazy-tree-view
Would love feedback if anyone gives it a try.
Videos
Tree View in React
reactjs - What are all the options on react for tree view - Stack Overflow
React Arborist v2.0.0 - A Tree View Component
I built a lightweight React tree view library — lazy loading, drag & drop, keyboard navigation
Where can I find the Syncfusion React Tree View demo?
Why should you choose Syncfusion React Tree View?
How do I get started with Syncfusion React Tree View?
» npm install react-treeview
Hi,
I have built Tree in React using Material UI Tree View component (https://mui.com/material-ui/react-tree-view/). It works correctly, but when I have about 700+ Tree Items in View, there is a serious performance issue. Whole UI starts to be very slow... I read that Material UI Tree View doesn't support virtualization, so I tried to combine it with some other virtualization libraries, but with no success. Has anyone been in a similar situation, and how did you resolved it? Which virtualization library can work with Tree View?
Thanks in advance
» npm install react-accessible-treeview