fix(reactivity): should add allowRecurse to the effect (#2213)
So that the scheduler also respects effect's allowRecurse option. fix #2200
This commit is contained in:
@@ -17,6 +17,7 @@ export interface ReactiveEffect<T = any> {
|
||||
raw: () => T
|
||||
deps: Array<Dep>
|
||||
options: ReactiveEffectOptions
|
||||
allowRecurse: boolean
|
||||
}
|
||||
|
||||
export interface ReactiveEffectOptions {
|
||||
@@ -100,6 +101,7 @@ function createReactiveEffect<T = any>(
|
||||
}
|
||||
} as ReactiveEffect
|
||||
effect.id = uid++
|
||||
effect.allowRecurse = !!options.allowRecurse
|
||||
effect._isEffect = true
|
||||
effect.active = true
|
||||
effect.raw = fn
|
||||
@@ -180,7 +182,7 @@ export function trigger(
|
||||
const add = (effectsToAdd: Set<ReactiveEffect> | undefined) => {
|
||||
if (effectsToAdd) {
|
||||
effectsToAdd.forEach(effect => {
|
||||
if (effect !== activeEffect || effect.options.allowRecurse) {
|
||||
if (effect !== activeEffect || effect.allowRecurse) {
|
||||
effects.add(effect)
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user