fix(reactivity): trigger reactivity for Map key `undefined` (#12055)

close #12054
This commit is contained in:
Tycho 2024-10-11 10:39:08 +08:00 committed by GitHub
parent c0418a3b8f
commit 7ad289e1e7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 1 deletions

View File

@ -409,4 +409,14 @@ describe('reactivity/reactive', () => {
e.effect.stop()
expect(targetMap.get(obj)?.get('x')).toBeFalsy()
})
test('should trigger reactivity when Map key is undefined', () => {
const map = reactive(new Map())
const c = computed(() => map.get(void 0))
expect(c.value).toBe(void 0)
map.set(void 0, 1)
expect(c.value).toBe(1)
})
})

View File

@ -340,7 +340,7 @@ export function trigger(
})
} else {
// schedule runs for SET | ADD | DELETE
if (key !== void 0) {
if (key !== void 0 || depsMap.has(void 0)) {
run(depsMap.get(key))
}