Skip to content

Commit 7ad289e

Browse files
authored
fix(reactivity): trigger reactivity for Map key undefined (#12055)
close #12054
1 parent c0418a3 commit 7ad289e

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

packages/reactivity/__tests__/reactive.spec.ts

+10
Original file line numberDiff line numberDiff line change
@@ -409,4 +409,14 @@ describe('reactivity/reactive', () => {
409409
e.effect.stop()
410410
expect(targetMap.get(obj)?.get('x')).toBeFalsy()
411411
})
412+
413+
test('should trigger reactivity when Map key is undefined', () => {
414+
const map = reactive(new Map())
415+
const c = computed(() => map.get(void 0))
416+
417+
expect(c.value).toBe(void 0)
418+
419+
map.set(void 0, 1)
420+
expect(c.value).toBe(1)
421+
})
412422
})

packages/reactivity/src/dep.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ export function trigger(
340340
})
341341
} else {
342342
// schedule runs for SET | ADD | DELETE
343-
if (key !== void 0) {
343+
if (key !== void 0 || depsMap.has(void 0)) {
344344
run(depsMap.get(key))
345345
}
346346

0 commit comments

Comments
 (0)