~/talk

Pinia Disasterclass

Talkat Vue.js Nation 2024 · 2024-01-24..01-25· [vue, frontend-architecture]
slides:none on file

Four-year-old Pinia gets a lessons-learned audit: concrete anti-patterns (stop mapping Vuex mutations/getters to Pinia, don't cast empty object), TypeScript fixes (use generics on refs instead of sham casts), lifecycle rules (stores are lazy; never export a pre-created store instance), runtime choices (prefer ref for arrays, avoid readonly/state-externalization that breaks SSR and DevTools), and architecture advice: use the router/URL as source of truth and treat stores as composable singletons with caching and route-driven watchers.

AI-written summary · about

  1. 0:00Introduction
  2. 2:30Common mistakes
  3. 4:06Mutating state
  4. 6:01Self sabotage
  5. 8:07Readonly state
  6. 10:19Casting empty objects
  7. 11:39Fixing the error
  8. 12:44New patterns
  9. 18:09Reactive ref
  10. 19:48Overusing stores
  11. 23:04Composable stores
  12. 25:52Questions
  13. 26:14Benefits
  14. 29:09Syntax
  15. 30:54Challenges and rewards
  16. 33:34Misconceptions
  17. 35:44Factory Patterns
  18. 37:59Dep tool support
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.