Skip to content

Commit 2b186d3

Browse files
committed
refactor(reactivity): optimize dirty flag checks
1 parent 34cb64c commit 2b186d3

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

packages/reactivity/src/computed.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,11 @@ export class ComputedRefImpl<T = any> implements Dependency, Subscriber {
9393
*/
9494
get _dirty(): boolean {
9595
const flags = this.flags
96-
if (flags & (SubscriberFlags.Dirty | SubscriberFlags.Pending)) {
97-
if (flags & SubscriberFlags.Dirty || checkDirty(this.deps!)) {
96+
if (flags & SubscriberFlags.Dirty) {
97+
return true
98+
}
99+
if (flags & SubscriberFlags.Pending) {
100+
if (checkDirty(this.deps!)) {
98101
this.flags = flags | SubscriberFlags.Dirty
99102
return true
100103
} else {

packages/reactivity/src/effect.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,11 @@ export class ReactiveEffect<T = any> implements ReactiveEffectOptions {
171171

172172
get dirty(): boolean {
173173
const flags = this.flags
174-
if (flags & (SubscriberFlags.Dirty | SubscriberFlags.Pending)) {
175-
if (flags & SubscriberFlags.Dirty || checkDirty(this.deps!)) {
174+
if (flags & SubscriberFlags.Dirty) {
175+
return true
176+
}
177+
if (flags & SubscriberFlags.Pending) {
178+
if (checkDirty(this.deps!)) {
176179
this.flags = flags | SubscriberFlags.Dirty
177180
return true
178181
} else {

0 commit comments

Comments
 (0)