Skip to content

Commit 1f0d85f

Browse files
committed
Wrap with DndContext
1 parent 56b0f9b commit 1f0d85f

File tree

2 files changed

+24
-19
lines changed

2 files changed

+24
-19
lines changed

src/App.tsx

-2
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,6 @@ function App() {
5555

5656
return (
5757
<>
58-
<div>
59-
</div>
6058
<h1>React Virtual Tree</h1>
6159
<div className="card">
6260
<VTree data={treeData} setData={setTreeData} selectedNodes={selectedNodes} onSelectNode={handleSelectNode} />

src/VTree.tsx

+24-17
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { VList } from "virtua";
22
import { TNode, TreeNode } from "./TreeNode";
3+
import { DndContext, DndProvider } from "react-dnd";
34

45
type FileTreeProps = {
56
data: TNode[]
@@ -73,23 +74,29 @@ const FileTree: React.FC<FileTreeProps> = ({ data, setData, selectedNodes, onSel
7374
};
7475

7576
return (
76-
<VList
77-
id="vlist"
78-
// ref={this.listRef}
79-
// dragDropManager={dragDropManager}
80-
style={{ height: 500 }}
81-
count={data.length}>
82-
{(index) => {
83-
const item = data[index]
84-
return <TreeNode
85-
key={item.id}
86-
node={item}
87-
selectedNodes={selectedNodes}
88-
onSelectNode={onSelectNode}
89-
onMove={handleMoveNode}
90-
/>
91-
}}
92-
</VList>
77+
<DndContext.Consumer>
78+
{({ dragDropManager }) =>
79+
dragDropManager ?
80+
<DndProvider manager={dragDropManager}>
81+
<VList
82+
id="vlist"
83+
style={{ height: 500 }}
84+
count={data.length}>
85+
{(index) => {
86+
const item = data[index]
87+
return <TreeNode
88+
key={item.id}
89+
node={item}
90+
selectedNodes={selectedNodes}
91+
onSelectNode={onSelectNode}
92+
onMove={handleMoveNode}
93+
/>
94+
}}
95+
</VList>
96+
</DndProvider>
97+
: <div> Unable to find dragDropManager </div>
98+
}
99+
</DndContext.Consumer>
93100
);
94101
};
95102

0 commit comments

Comments
 (0)