fix(reactivity): allow collect effects in EffectScope (#13657)

close #13656
This commit is contained in:
zhiyuanzmj 2025-07-18 17:01:58 +08:00 committed by GitHub
parent 3cb27d156f
commit b9fb79a1fd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 1 additions and 9 deletions

View File

@ -1,11 +1,5 @@
import { EffectFlags, cleanup } from './effect'
import {
type Link,
type ReactiveNode,
link,
setActiveSub,
unlink,
} from './system'
import { type Link, type ReactiveNode, link, unlink } from './system'
import { warn } from './warning'
export let activeEffectScope: EffectScope | undefined
@ -65,14 +59,12 @@ export class EffectScope implements ReactiveNode {
}
run<T>(fn: () => T): T | undefined {
const prevSub = setActiveSub()
const prevScope = activeEffectScope
try {
activeEffectScope = this
return fn()
} finally {
activeEffectScope = prevScope
setActiveSub(prevSub)
}
}