Skip to content

Commit 401ea34

Browse files
committed
feat: remove unnecessary startTransition calls in reactiveArrayService for improved performance
1 parent abd6a27 commit 401ea34

1 file changed

Lines changed: 12 additions & 22 deletions

File tree

src/utils/reactiveArrayService.ts

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, {startTransition} from "react";
1+
import React from "react";
22
import {ArrayService} from "./arrayService";
33
import {Payload, View} from "./view";
44

@@ -15,25 +15,19 @@ export class ReactiveArrayService<T extends Payload, D = Record<string, any>> im
1515
}
1616

1717
delete(index: number) {
18-
startTransition(() => {
19-
this.access.setState(prev => prev.filter((_, i) => i !== index));
20-
})
18+
this.access.setState(prev => prev.filter((_, i) => i !== index));
2119
}
2220

2321
add(value: View<T>) {
24-
startTransition(() => {
25-
this.access.setState(prev => [...prev, value]);
26-
})
22+
this.access.setState(prev => [...prev, value]);
2723
}
2824

2925
set(index: number, value: View<T>) {
30-
startTransition(() => {
31-
this.access.setState(prev => {
32-
const next = prev.slice();
33-
next[index] = value;
34-
return next;
35-
});
36-
})
26+
this.access.setState(prev => {
27+
const next = prev.slice();
28+
next[index] = value;
29+
return next;
30+
});
3731
}
3832

3933
has(index: number) {
@@ -50,15 +44,11 @@ export class ReactiveArrayService<T extends Payload, D = Record<string, any>> im
5044
}
5145

5246
update() {
53-
startTransition(() => {
54-
this.access.setState(prev => [...prev]);
55-
})
47+
this.access.setState(prev => [...prev]);
5648
}
5749

5850
clear() {
59-
startTransition(() => {
60-
this.access.setState(() => []);
61-
})
51+
this.access.setState(() => []);
6252
}
6353
}
6454

@@ -83,9 +73,9 @@ export function useReactiveArrayService<
8373
const getState = React.useCallback(() => stateRef.current, [])
8474

8575
const service = React.useMemo(() => {
86-
const store: ReactiveArrayStore<View<R>> = { getState, setState }
76+
const store: ReactiveArrayStore<View<R>> = {getState, setState}
8777

88-
const handler = { construct: () => handler }
78+
const handler = {construct: () => handler}
8979
const isConstructor = (x: any) => {
9080
try {
9181
return !!new (new Proxy(x, handler))()

0 commit comments

Comments
 (0)