Skip to content

Commit fa7fbb2

Browse files
reidbarbersnowystingerdannify
authored
Handle undefined children in useTreeData (#2549)
* handle no children in useTreeData * fix tests to cover Co-authored-by: Robert Snow <[email protected]> Co-authored-by: Danni <[email protected]>
1 parent 150c8ae commit fa7fbb2

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

packages/@react-stately/data/src/useTreeData.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ export function useTreeData<T extends object>(options: TreeOptions<T>): TreeData
123123
initialItems = [],
124124
initialSelectedKeys,
125125
getKey = (item: any) => item.id || item.key,
126-
getChildren = (item: any) => item.children || []
126+
getChildren = (item: any) => item.children
127127
} = options;
128128
let map = useMemo(() => new Map<Key, TreeNode<T>>(), []);
129129

@@ -133,7 +133,7 @@ export function useTreeData<T extends object>(options: TreeOptions<T>): TreeData
133133
let [items, setItems] = useState(initialNodes);
134134
let [selectedKeys, setSelectedKeys] = useState(new Set<Key>(initialSelectedKeys || []));
135135

136-
function buildTree(initialItems: T[], parentKey?: Key | null) {
136+
function buildTree(initialItems: T[] = [], parentKey?: Key | null) {
137137
return initialItems.map(item => {
138138
let node: TreeNode<T> = {
139139
key: getKey(item),

packages/@react-stately/data/test/useTreeData.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ const initial = [
3131
];
3232

3333
let getKey = (item) => item.name;
34-
let getChildren = (item) => item.children || [];
34+
let getChildren = (item) => item.children;
3535

3636
describe('useTreeData', function () {
3737
it('should construct a tree using initial data', function () {

0 commit comments

Comments
 (0)