Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Nuxt 3 - Pinia Vs useState()

Store (Pinia) Vs UseState

If I am not mistaken, useState can replace any store like Pinia? Given that useState makes ref sharable across all components I have a hard time knowing if I should use a store or a useState ref. For instance, let's say I have a currentUser (firstName, lastName, email) that I fetch from a distant API at page loading. Should I stock this information in a Pinia userStore or in a useState('currentUser')?

What are best practices on this topic?

useState() docs: https://v3.nuxtjs.org/api/composables/use-state

Pinia docs: https://pinia.vuejs.org/core-concepts/

like image 754
3AhmadReza Avatar asked Nov 29 '25 19:11

3AhmadReza


1 Answers

This question is pretty much fully explained in the Why should I use Pinia section, I quote:

  • Devtools support
    • A timeline to track actions, mutations
    • Stores appear in components where they are used
    • Time travel and easier debugging
  • Hot module replacement
    • Modify your stores without reloading your page
    • Keep any existing state while developing
  • Plugins: extend Pinia features with plugins
  • Proper TypeScript support or autocompletion for JS users
  • Server Side Rendering Support

Here is a video of Evan You explaining it if you prefer.

like image 101
kissu Avatar answered Dec 02 '25 09:12

kissu