fix(reactivity): ensure that shallow and normal proxies are tracked seperately (close #2843) (#2851)
fix #2843
This commit is contained in:
@@ -5,7 +5,9 @@ import {
|
||||
ReactiveFlags,
|
||||
Target,
|
||||
readonlyMap,
|
||||
reactiveMap
|
||||
reactiveMap,
|
||||
shallowReactiveMap,
|
||||
shallowReadonlyMap
|
||||
} from './reactive'
|
||||
import { TrackOpTypes, TriggerOpTypes } from './operations'
|
||||
import {
|
||||
@@ -80,7 +82,15 @@ function createGetter(isReadonly = false, shallow = false) {
|
||||
return isReadonly
|
||||
} else if (
|
||||
key === ReactiveFlags.RAW &&
|
||||
receiver === (isReadonly ? readonlyMap : reactiveMap).get(target)
|
||||
receiver ===
|
||||
(isReadonly
|
||||
? shallow
|
||||
? shallowReadonlyMap
|
||||
: readonlyMap
|
||||
: shallow
|
||||
? shallowReactiveMap
|
||||
: reactiveMap
|
||||
).get(target)
|
||||
) {
|
||||
return target
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user