|
@@ -44,7 +44,6 @@ import {
|
|
|
flushPostFlushCbs,
|
|
flushPostFlushCbs,
|
|
|
invalidateJob,
|
|
invalidateJob,
|
|
|
flushPreFlushCbs,
|
|
flushPreFlushCbs,
|
|
|
- SchedulerJob,
|
|
|
|
|
SchedulerCb
|
|
SchedulerCb
|
|
|
} from './scheduler'
|
|
} from './scheduler'
|
|
|
import { effect, stop, ReactiveEffectOptions, isRef } from '@vue/reactivity'
|
|
import { effect, stop, ReactiveEffectOptions, isRef } from '@vue/reactivity'
|
|
@@ -261,7 +260,9 @@ export const enum MoveType {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const prodEffectOptions = {
|
|
const prodEffectOptions = {
|
|
|
- scheduler: queueJob
|
|
|
|
|
|
|
+ scheduler: queueJob,
|
|
|
|
|
+ // #1801, #2043 component render effects should allow recursive updates
|
|
|
|
|
+ allowRecurse: true
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function createDevEffectOptions(
|
|
function createDevEffectOptions(
|
|
@@ -269,6 +270,7 @@ function createDevEffectOptions(
|
|
|
): ReactiveEffectOptions {
|
|
): ReactiveEffectOptions {
|
|
|
return {
|
|
return {
|
|
|
scheduler: queueJob,
|
|
scheduler: queueJob,
|
|
|
|
|
+ allowRecurse: true,
|
|
|
onTrack: instance.rtc ? e => invokeArrayFns(instance.rtc!, e) : void 0,
|
|
onTrack: instance.rtc ? e => invokeArrayFns(instance.rtc!, e) : void 0,
|
|
|
onTrigger: instance.rtg ? e => invokeArrayFns(instance.rtg!, e) : void 0
|
|
onTrigger: instance.rtg ? e => invokeArrayFns(instance.rtg!, e) : void 0
|
|
|
}
|
|
}
|
|
@@ -1489,8 +1491,6 @@ function baseCreateRenderer(
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}, __DEV__ ? createDevEffectOptions(instance) : prodEffectOptions)
|
|
}, __DEV__ ? createDevEffectOptions(instance) : prodEffectOptions)
|
|
|
- // #1801 mark it to allow recursive updates
|
|
|
|
|
- ;(instance.update as SchedulerJob).allowRecurse = true
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const updateComponentPreRender = (
|
|
const updateComponentPreRender = (
|