We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 7e317bf commit 2fff077Copy full SHA for 2fff077
src/FixedSizeTree.tsx
@@ -77,8 +77,8 @@ export class FixedSizeTree<T extends FixedSizeNodeData = NodeData> extends Tree<
77
return (
78
<FixedSizeList
79
{...rest}
80
- itemData={this.state}
81
itemCount={this.state.order!.length}
+ itemData={this.state}
82
ref={this.list}
83
>
84
{rowComponent!}
src/Tree.tsx
@@ -12,6 +12,7 @@ import {
12
ListProps,
13
VariableSizeList,
14
} from 'react-window';
15
+import {DefaultTreeProps, DefaultTreeState} from './utils';
16
17
export type NodeData = Readonly<{
18
/**
@@ -261,14 +262,14 @@ class Tree<
261
262
>,
263
TListComponent extends FixedSizeList | VariableSizeList
264
> extends PureComponent<TProps, TState> {
- public static defaultProps: Partial<TreeProps<any, any>> = {
265
+ public static defaultProps: Partial<DefaultTreeProps> = {
266
rowComponent: Row,
267
};
268
269
public static getDerivedStateFromProps(
- props: TreeProps<any, any>,
270
- state: TreeState<any, any, any, any>,
271
- ): Partial<TreeState<any, any, any, any>> {
+ props: DefaultTreeProps,
+ state: DefaultTreeState,
272
+ ): Partial<DefaultTreeState> {
273
const {children: component, itemData: treeData, treeWalker} = props;
274
const {computeTree, order, treeWalker: oldTreeWalker} = state;
275
src/VariableSizeTree.tsx
@@ -138,9 +138,7 @@ export class VariableSizeTree<T extends VariableSizeNodeData> extends Tree<
138
139
public recomputeTree(options?: VariableSizeUpdateOptions): Promise<void> {
140
return super.recomputeTree(options).then(() => {
141
- if (options?.useDefaultHeight) {
142
- this.list.current?.resetAfterIndex(0, true);
143
- }
+ this.list.current?.resetAfterIndex(0, true);
144
});
145
}
146
@@ -150,8 +148,8 @@ export class VariableSizeTree<T extends VariableSizeNodeData> extends Tree<
150
148
151
149
<VariableSizeList
152
153
154
155
// eslint-disable-next-line @typescript-eslint/unbound-method
156
itemSize={itemSize ?? this.getItemSize}
157
src/utils.ts
@@ -3,21 +3,29 @@ import {
3
NodeData,
4
NodeRecord,
5
TreeCreatorOptions,
6
+ TreeProps,
7
TreeState,
8
UpdateOptions,
9
} from './Tree';
10
11
+export type DefaultTreeProps = TreeProps<
+ NodeComponentProps<NodeData>,
+ NodeData
+>;
+
+export type DefaultTreeState = TreeState<
+ NodeRecord<NodeData>,
19
+ UpdateOptions,
20
21
22
23
export type DefaultTreeCreatorOptions = TreeCreatorOptions<
24
NodeComponentProps<NodeData>,
25
NodeRecord<NodeData>,
26
27
- TreeState<
- NodeComponentProps<NodeData>,
- NodeRecord<NodeData>,
- UpdateOptions,
- NodeData
- >
28
+ DefaultTreeState
29
>;
30
31
export const identity = <T>(value: T): T => value;
0 commit comments