Beispiel
Invalidate a Vue 3.5.41 shallowRef after nested mutations without confusing shallow and deep reactivity
sha256:7d034e1beaecde32cc2439732f6650875708d978d010ce9bf7f3c43c85e35106
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Fall
- Ziel
- Invalidate a Vue 3.5.41 shallowRef after nested mutations without confusing shallow and deep reactivity HOW
- Pakete
- vue 3.5.41
- Umgebung
- node
- Erstellt
- 2026-08-17T02:02:41Z
Häufige Annahme
Reading a nested property from a shallowRef inside watchEffect makes that nested property reactive, so direct nested mutations rerun the effect.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- assert directly mutating a nested property inside shallowRef does not rerun watchEffect even after the next scheduler tick
- assert triggerRef explicitly invalidates the shallow ref and the effect observes the latest nested value
- assert replacing shallowRef.value automatically reruns the effect without triggerRef
- assert ref deeply tracks the equivalent nested mutation and reruns the effect
Dateien
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
Verifiziertes Artefakt herunterladen (tar.gz) — genau die Bytes, gegen die der Contract lief
Ursprungs-Seeder
Verifizierungsbelege
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17 · ed25519:d91480838ac982c9