Dos and Don'ts
Do use keys on v-for; don't mutate props.
Do prefer computed; don't put async side effects in computed.
DO: emit('update:modelValue', next)
DON'T: props.modelValue = next Emit updates instead of mutating props.
Do use keys on v-for; don't mutate props. This lesson covers practical patterns, syntax, and mistakes to avoid.
Do use keys on v-for; don't mutate props.
Do prefer computed; don't put async side effects in computed.
DO: emit('update:modelValue', next)
DON'T: props.modelValue = next Emit updates instead of mutating props.
Do Pinia for shared state; don't invent event buses first Quick reference for patterns covered in this lesson.
| Item | Example | Purpose |
|---|---|---|
| Do | script setup | Modern |
| Don't | prop mutate | Bugs |
| Do | keys | Lists |
| Don't | v-if+v-for same node | Quirks |
| Do | storeToRefs | Destructure |
| Don't | v-html unsafe | XSS |
Choose boring, documented Vue patterns.
Pro Tip
If a pattern needs a long wiki, simplify it.