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 49334c9 commit e06e32dCopy full SHA for e06e32d
packages/virtual-core/src/utils.ts
@@ -10,10 +10,12 @@ export function memo<TDeps extends ReadonlyArray<any>, TResult>(
10
debug?: () => boolean
11
onChange?: (result: TResult) => void
12
initialDeps?: TDeps
13
+ skipInitialOnChange?: boolean
14
},
15
) {
16
let deps = opts.initialDeps ?? []
17
let result: TResult | undefined
18
+ let isInitial = true
19
20
function memoizedFunction(): TResult {
21
let depTime: number
@@ -62,7 +64,11 @@ export function memo<TDeps extends ReadonlyArray<any>, TResult>(
62
64
)
63
65
}
66
- opts?.onChange?.(result)
67
+ if (opts?.onChange && !(isInitial && opts.skipInitialOnChange)) {
68
+ opts.onChange(result)
69
+ }
70
+
71
+ isInitial = false
72
73
return result
74
0 commit comments