Skip to content

Commit fa80d44

Browse files
committed
chore: remove queryDirty
1 parent 9d31bc9 commit fa80d44

File tree

4 files changed

+16
-17
lines changed

4 files changed

+16
-17
lines changed

packages/reactivity/src/computed.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,6 @@ export class ComputedRefImpl<T> {
4949
this[ReactiveFlags.IS_READONLY] = isReadonly
5050
}
5151

52-
queryDirty() {
53-
return this.value
54-
}
55-
5652
get value() {
5753
// the computed ref may get wrapped by other proxies e.g. readonly() #3376
5854
const self = toRaw(this)

packages/reactivity/src/dep.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
import { ReactiveEffect } from './effect'
1+
import type { ReactiveEffect } from './effect'
2+
import type { ComputedRefImpl } from './computed'
23

34
export type Dep = Map<ReactiveEffect, number> & {
4-
queryDirty?: () => void
5+
computed?: ComputedRefImpl<any>
56
}
67

7-
export const createDep = (queryDirty?: () => void): Dep => {
8+
export const createDep = (computed?: ComputedRefImpl<any>): Dep => {
89
const dep: Dep = new Map()
9-
dep.queryDirty = queryDirty
10+
dep.computed = computed
1011
return dep
1112
}

packages/reactivity/src/effect.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,11 @@ export class ReactiveEffect<T = any> {
7474
this._queryingDirty = true
7575
pauseTracking()
7676
for (const dep of this.deps) {
77-
dep.queryDirty?.()
78-
if (this._dirtyLevel >= DirtyLevels.ComputedValueDirty) {
79-
break
77+
if (dep.computed) {
78+
triggerComputed(dep.computed)
79+
if (this._dirtyLevel >= DirtyLevels.ComputedValueDirty) {
80+
break
81+
}
8082
}
8183
}
8284
resetTracking()
@@ -120,6 +122,10 @@ export class ReactiveEffect<T = any> {
120122
}
121123
}
122124

125+
function triggerComputed(computed: ComputedRefImpl<any>) {
126+
return computed.value
127+
}
128+
123129
function cleanupEffect(effect: ReactiveEffect) {
124130
effect._trackId++
125131
effect._depsLength = 0

packages/reactivity/src/ref.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,7 @@ export function trackRefValue(ref: RefBase<any>) {
4646
activeEffect,
4747
ref.dep ||
4848
(ref.dep = createDep(
49-
ref instanceof ComputedRefImpl
50-
? ref.queryDirty.bind(ref)
51-
: undefined
49+
ref instanceof ComputedRefImpl ? ref : undefined
5250
)),
5351
{
5452
target: ref,
@@ -61,9 +59,7 @@ export function trackRefValue(ref: RefBase<any>) {
6159
activeEffect,
6260
ref.dep ||
6361
(ref.dep = createDep(
64-
ref instanceof ComputedRefImpl
65-
? ref.queryDirty.bind(ref)
66-
: undefined
62+
ref instanceof ComputedRefImpl ? ref : undefined
6763
))
6864
)
6965
}

0 commit comments

Comments
 (0)