Daniel Kelly
Common Mistakes in Vue.js and How to Avoid Them
#1about 1 minute
Why learning from common mistakes is practical
Making small mistakes can lead to big headaches, so learning from others' errors is a practical way to improve your own code.
#2about 9 minutes
Avoid using the index as a key in v-for loops
Using an array index as a key in `v-for` can cause unpredictable rendering bugs when the array order changes and child components have their own state.
#3about 5 minutes
Do not rely on non-reactive browser APIs
Computed properties and watchers will not update when depending on non-reactive browser APIs like localStorage or DOM element properties; use libraries like VueUse for reactive wrappers.
#4about 5 minutes
Prefer ref over reactive to avoid breaking reactivity
Reassigning a variable declared with `reactive()` breaks its reactivity, so it's recommended to use `ref()` instead for all data types to prevent subtle bugs.
#5about 6 minutes
Avoid mutating props directly in child components
Directly mutating props, including properties of object props, violates one-way data flow and can be solved by using `defineModel` for `v-model` or cloning the prop into local state.
#6about 2 minutes
Learn more with a free course and certification
A free View School course covers these mistakes and more, including prop drilling and cleaning up event listeners, and a certification is available to validate your skills.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
03:41 MIN
Exploring the core technologies behind Vue 3 reactivity
Under The Hood of Vue 3 Reactivity
44:41 MIN
Answering questions on reactivity and browser support
Under The Hood of Vue 3 Reactivity
00:03 MIN
Introduction to JavaScript design patterns
10 must-know design patterns for JS Devs
25:14 MIN
Audience Q&A on patterns, typescript, and frameworks
10 must-know design patterns for JS Devs
22:30 MIN
Common pitfalls when using the architecture canvas
42 x 2 Canvases Later: Two Years, Two Minds, Many Lessons
05:46 MIN
Why React's model conflicts with the modern web platform
Keith Cirkle of GitHub on React Fatigue
19:21 MIN
Lessons on testing, hooks, and framework lock-in
Building a large, complex product from the ground up with typescript & Atomic Design:lessons learned
33:55 MIN
Audience Q&A on practical micro-frontend challenges
Micro-frontends anti-patterns
Featured Partners
Related Videos
Under The Hood of Vue 3 Reactivity
Marc Backes
Under The Hood Of Vue 3 Reactivity
Marc Backes
Lessons learned from building a thriving Vue.js SaaS application
Abdelrahman Awad
Bringing back reactivity in "reactive" frontend
Michał Moroz
petite-vue - Progressively enhancing every application?
Alexander Lichter
Vuejs and TypeScript- Working Together like Peanut Butter and Jelly
Rob Richardson
What the heck do "declarative" and "reactive" actually mean?
André Kovac
10 must-know design patterns for JS Devs
Erick Wendel
From learning to earning
Jobs that call for the skills explored in this talk.




![[HR106] Senior Front-End Developer - Vue, Nuxt - (Remote, Full-Time) Asia](https://wearedevelopers.imgix.net/public/default-job-listing-cover.png?w=400&ar=3.55&fit=crop&crop=entropy&auto=compress,format)
[HR106] Senior Front-End Developer - Vue, Nuxt - (Remote, Full-Time) Asia
Smart Working Solutions
Remote
Senior
CSS
HTML
REST
Vue.js
+6

Frontend Entwickler - VueJS / JavaScript / SCSS
Neuffer Fenster + Türen GmbH
Remote
CSS
HTML
React
jQuery
+3


