Learn Pinia in 30 MINUTES! (Vue JS 3)

Поделиться
HTML-код
  • Опубликовано: 18 июн 2024
  • In this video I’m gonna show you how to get started with Pinia in 30 minutes!
    👉 Pinia & Vue 3 Course: dannys.link/compositionapi
    Pinia is an incredible new State Management library for Vue 3 Composition API apps.
    In this video I'll show you how to use it to move all of your app's Data, Methods & Computed properties into State, Actions and Getters within a Pinia Store - so that all of these can be used ANYWHERE within your app - in around 30 minutes.
    ⬇ Chapters: ⬇
    0:00 Introduction
    1:30 Getting Started
    3:15 Simplify Project
    5:27 Counter App - Elements & Styles
    6:58 Counter App - Data & Methods
    9:26 Counter App - Computed Property
    11:22 What is Pinia?
    15:34 State
    19:52 Actions
    21:59 Getters
    25:30 Two-Way Data Binding
    27:04 Use our Store Everywhere!
    29:31 Child Components
    👉 Full Pinia & Vue 3 Course: dannys.link/compositionapi
    👉 My Courses - dannys.link/courses
    👉 Download Fudget: www.fudget.com
    👉 My VSCode Setup - dannys.link/vscodesetup
    👉 DONT CLICK THIS - dannys.link/dontclick

Комментарии • 223

  • @MakeAppswithDanny
    @MakeAppswithDanny  2 года назад +7

    Please Like, Share, Subscribe & Comment - it all helps me create more content for you!
    👉 Full Pinia & Vue 3 Course: dannys.link/compositionapi
    👉 My Courses: dannys.link/courses
    👉 Download Fudget: www.fudget.com
    👉 My VSCode Setup: dannys.link/vscodesetup
    👉 DONT CLICK THIS: dannys.link/dontclick

    • @antoncherry
      @antoncherry 2 года назад +1

      Hi, Danny! How can i get your course, if udemy bans payment from my country?

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад

      @@antoncherry It looks like you can pay with PayPal. Maybe give that a try? Possibly use a VPN to appear as though you're from another country (if necessary)...

    • @antoncherry
      @antoncherry 2 года назад

      @@MakeAppswithDanny unfortunately i even can't choose any payment type on udemy, even under vpn ((

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад

      @@antoncherry have you tried some googling Anton? Does this help?: www.quora.com/How-do-I-buy-a-course-on-Udemy-India

    • @lord-of-the-shinobi-world
      @lord-of-the-shinobi-world 11 месяцев назад

      ​​@@MakeAppswithDannyIn my case, when i create the Vue 3 project, the project gave me the Setup Store, instead of Option Store like in your video.
      It looks like this in the store file:
      "export const useCounterStore = defineStore('counter', () => {
      const count = ref(0)
      const name = ref('Eduardo')
      const doubleCount = computed(() => count.value * 2)
      function increment() {
      count.value++
      }
      return { count, name, doubleCount, increment }
      })"
      I am not really familiar with Setup Store much.
      I am, however, very familiar with Option Store, because Vuex has the same thing too.

  • @jntaca
    @jntaca 2 года назад +6

    Great. Thanks !
    Vue3 + Script Setup + Vite + Pinia + PrimeVue = Happy & productive person.

  • @sauraussaurus
    @sauraussaurus Месяц назад +1

    I had the impression that Pinia was hard but your video definitely made it much easier for me to understand it.

  • @jeFFFairson
    @jeFFFairson 2 года назад +1

    Many thanks, once again you save my life with this short tutorial.
    And I just bought your course about composition API as I'm sure I'll learn a lot ! ;)

  • @seymourkoop9381
    @seymourkoop9381 Год назад +1

    Excellent! I like how you keep it incredibly simple by removing everything else unrelated.

  • @TheDarkky
    @TheDarkky Год назад +1

    Awesome tutorial, simple, straight to the point and engaging. Thanks a lot, just what I was looking for!

  • @outside7
    @outside7 Год назад +3

    Dude, this is explained really well! The right mixture of progress and explaing of basics. I really liked that you started out with coding the default Vue App, as you immediatly know what corresponding action you were taking in the Pinia part.

  • @IvanKusuma07
    @IvanKusuma07 Год назад +1

    Thank you Danny. What a clear explanation to learn the basic of pinia.

  • @ivangerginov5648
    @ivangerginov5648 3 месяца назад +2

    Brilliant explanations! A lot of tutorials skip the details but you actually take the time to explain things in a clear way.
    Thank you
    Also I liked and subscribed of course, I need to binge the rest of the videos :)

  • @joak-web
    @joak-web 2 года назад +1

    Thank you for making those quick intro courses Dan, it's really useful to see whats new, what it is and where it all comes together. As a suggestion, I'd like to ask if you could make one of those everytime a new Vue, Quasar and JS major feature is released, it really helps in getting up to date and staying on top of things

  • @rajaazlan6683
    @rajaazlan6683 Год назад +3

    Sir Danny, I have learned a lot from you and still learning it and all of your tutorials are amazing no doubt to the point the best thing about this series is how you compare the previous version with the new version. Thank you so much for giving us these precious topics

  • @ian19911134
    @ian19911134 Год назад +1

    Thanks, the two way binding was what I was looking for! Other tutorials seem to skip over that.

  • @alibayatmokhtari
    @alibayatmokhtari 2 года назад +2

    You are the best tutorial teacher in all youtube. I just saw your Vue2 with Quasar framework tutorial about two years ago and got my first job. So many thanks from me Danny.

  • @guillermomazzari4983
    @guillermomazzari4983 Год назад +1

    Thanks for this wonderful video!!! I'm starting out with vue, I am a c# dev, and having this info is extremely useful, I can see using Pinia is like having Model classes in a c# API and being able to call their fields from all over the project!! Thank you very much!

  • @drfcozapata
    @drfcozapata Год назад +1

    Great!!! Everything is clear now.
    Thanks a lot Danny. Blessings from Venezuela.

  • @perfect.stealth
    @perfect.stealth Год назад +1

    You are a legend Danny. I always tried to dodge Pinia but you have simplified it so much that I am going to go back to a few projects and implement Pinia instead of Vuex

  • @damianclarkson
    @damianclarkson Год назад +1

    Great video. You explain things very well. This is really easy to follow. Good stuff! Thanks!

  • @zurce9
    @zurce9 2 года назад +2

    I was really waiting for this :) thanks a lot.

  • @soumitripattnaik
    @soumitripattnaik Год назад +3

    You are a gem in the universe of Vue, Danny.
    THANK YOU 🙏

  • @paws7983
    @paws7983 2 года назад +1

    Many, many thanks! It’s helpful and easy to understand! 🥰

  • @kieronbramley6291
    @kieronbramley6291 2 года назад +3

    Lifesaver! Too many times I get a headache with passing props down etc.

  • @ysoh6410
    @ysoh6410 9 месяцев назад +1

    Thank you for this video.
    I'm French and I couldn't find a French video that would allow me to really learn how to use Pinia.
    You explained it really well.

  • @zennamfan2663
    @zennamfan2663 7 месяцев назад +1

    Thank Danny, the tutorial is simple and easy to understand!

  • @mfinity1689
    @mfinity1689 2 года назад +2

    Thanks Danny for new tutorial to use pinia.

  • @darXound
    @darXound 2 года назад +18

    I just finished your new course on Udemy. I've been holding off moving to Pinia and the composition API for some ridiculous reason - Your course was exactly what I needed to make the transition - perfect length, no nonsense approach. Thanks!

  • @ivindtobiasjorfald8133
    @ivindtobiasjorfald8133 Год назад +1

    Fantastic tutorial! Thank you very much! 😃

  • @GabrielMeireles13
    @GabrielMeireles13 2 года назад +2

    many thanks mate, really helpful!

  • @andrewplater1782
    @andrewplater1782 2 года назад +1

    You made it so easy to follow along.

  • @b0otable
    @b0otable 2 года назад +2

    The good news: That was an amazingly clear introduction to Pinia.
    The bad news: I want to update my Quasar 1 app to Quasar 2 with Vue 3 and Pinia and restructure all of my components to abstract all the data into Pinia stores to remove 90% of the props/emits

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад +1

      Ooh that's gonna keep you busy for a while, Tom! 😂

  • @gauthierkanku6385
    @gauthierkanku6385 Год назад +1

    Hi Danny,
    Thank you very much for this tutorial.
    I tried to read the official documentation but couldn't understand totally the concepts.
    This video made it very simple and easy to understand. 🙂

  • @talhaashraf6918
    @talhaashraf6918 9 месяцев назад +1

    One of the best explaination so far

  • @69leostereo
    @69leostereo 2 года назад +1

    I loved this video ... amazing teaching skills ...thanks

  • @user-yh7gb8xx4v
    @user-yh7gb8xx4v Год назад +2

    2 ways binding is brilliant compering to the vuex!

  • @brandonsayring
    @brandonsayring 2 года назад +3

    Brilliant, Danny! I've yet to incorporate pinia into my workflow as I've been comfortable with vuex or building a makeshift store using composibles with provide/inject. Pinia looks so much cleaner and I will definitely start using it from now on. Great to see it can be debugged in devtools - This was the only thing that kept me clinging on to vuex.
    Thanks for the tips!

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад +1

      No worries Brandon. I converted Fudget 2 over from composable state to Pinia. Took me about 3 days but well worth it! I missed the debugging more than I thought I would!

    • @brandonsayring
      @brandonsayring 2 года назад +1

      @@MakeAppswithDanny nice one! Yeah the more complex the state management gets, being able to time traveling to specific state changes can save you a lot of head aches and tantrums.

  • @MigalYaroslav
    @MigalYaroslav Год назад +1

    very good examples. thanks

  • @LittleMicho
    @LittleMicho 2 года назад +1

    Thank you thank you so much, incredibly easy and useful :,3

  • @javhaasuhochir8126
    @javhaasuhochir8126 Год назад +1

    Just subscribed you are a really good teacher thank you

  • @adelsaleh49
    @adelsaleh49 Год назад +1

    thank you for sharing this with us!!!

  • @lowkeygaming4716
    @lowkeygaming4716 2 года назад +2

    Very nice explanation.

  • @alfriansyah9895
    @alfriansyah9895 2 года назад +1

    well done danny its clearly usefull tutorrial best regards

  • @amrwery5403
    @amrwery5403 8 месяцев назад +1

    Bro Danny really I love your way about explain anything on Vue ❤️
    I hope you do more tutorials about Vue again and again
    Sorry for my bad English 😅

    • @MakeAppswithDanny
      @MakeAppswithDanny  8 месяцев назад

      Thanks for your kind words. I understand completely 👍

  • @ercank1137
    @ercank1137 11 месяцев назад +1

    Very clear!

  • @sondersmith4330
    @sondersmith4330 2 года назад +2

    思路清晰,一看就会!

  • @andrejschefer1829
    @andrejschefer1829 Год назад +1

    Thanks for greate work !

  • @TheLeorock1988
    @TheLeorock1988 Год назад +1

    thanks very usefull video!

  • @KnowledgeBoxMM
    @KnowledgeBoxMM 5 месяцев назад +1

    Thanks u sir it's really help for me .

  • @DharmikGohil-bw2ug
    @DharmikGohil-bw2ug 2 месяца назад +1

    Good Video Thanks!

  • @TTT-V
    @TTT-V 11 месяцев назад +1

    amazing teaching skill

  • @iliaryzhkov
    @iliaryzhkov 2 года назад +1

    Great stuff Danny! I've just finished your course on Composition API which is awesome - thanks for doing that! I now struggle to understand though what is the connection between the store and persistence storage. Do I need the store at all if I have a database? I know you've got courses where you build a backend and connect the app to a database but I'd love to see a continuation of your last course with the backend and deploy since the technology has evolved since you published the previous courses. Anyways, I'll be waiting for the new videos and courses!

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад +2

      I’m actually working on a Firebase 9 module to add to the course 👍

  • @Lily-um8pl
    @Lily-um8pl Год назад +1

    I learned from this video so i buy the course from your url to Udemy, thanks

  • @tawangsaristudio9546
    @tawangsaristudio9546 Год назад +1

    thanks so much sir

  • @user-kp1qu5rx8c
    @user-kp1qu5rx8c 5 месяцев назад +1

    thank you so much

  •  6 месяцев назад +1

    thank you ❤❤❤

  • @mishenthakshana3407
    @mishenthakshana3407 2 года назад +1

    Thankyou so much

  • @PavelKrejsa
    @PavelKrejsa Год назад +1

    Thanks!

  • @nur_riyad
    @nur_riyad 2 года назад +1

    Thank you

  • @JackySupit
    @JackySupit Год назад +1

    thank yuuuuuuuuu. awesome!

  • @Dostoevsky2012
    @Dostoevsky2012 2 года назад +3

    thank you

  • @noname78520
    @noname78520 Год назад +1

    awesome content

  • @pioggiadifuoco7522
    @pioggiadifuoco7522 2 года назад +1

    Hello Danny, your vids are great and straight to the point as always. I just want to ask you if there will be a chance you will make a video on how to effectively build vue frontend with some of the most used php frameworks. Nobody i have seen till now could be as effective as you are. Hope this will be of your interest. I personally use Symfony framework but will appreciate any of your preference if you will do it...Thanks a lot for your amazing job!

  • @ArjonJasonCastro
    @ArjonJasonCastro 2 года назад +2

    Awesome Danny! Thank you for this! Question: What should we do if you want to re-use the counterStore but should have independent state from the others so their values don't auto-update with other components?

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад +1

      Good question. I'm not sure if that is possible (but check the Pinia docs). What I would probably do is have two different state properties for the two different counters. Then for the actions, maybe have a second parameter to indicate which counter should be updated.

  • @qweqeqeqwqweqeqeqeq5493
    @qweqeqeqwqweqeqeqeq5493 Год назад +1

    你的视频讲的很好

  • @lolasdasad
    @lolasdasad Год назад +1

    Simple direct and professional, thank you and you have my esteem.
    Did you create some content as well to use typescript in vue 3? in the meantime, I'm off to buy your course on udemy!

  • @user-tq4yd7pu9z
    @user-tq4yd7pu9z Год назад +1

    thx!

  • @sunethrarao
    @sunethrarao 10 месяцев назад +1

    Great video ❤
    Can you show how we get the updated values even after window reloading or refresh page ?

    • @MakeAppswithDanny
      @MakeAppswithDanny  10 месяцев назад +1

      Thanks. To do this you will either need to store the data remotely (e.g. in a database such as Firebase) or locally (e.g. in the browser's IndexedDB database). Check out my videos on Vue & Firebase, or the video on Localbase 👍

  • @vladshepeluk7442
    @vladshepeluk7442 2 года назад +1

    Super great work 🙏 vuex going to dinosaurs 🦖

  • @davidpile2576
    @davidpile2576 2 года назад +2

    If anyone is having trouble seeing the pinia store in Vue devtools, like I was, there is an icon to the right of the word Timeline in Vue devtools where you can select to view Components, Pinia or Routes. you can see it in the top right of this video at 18:05

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад

      Do you have the latest version of Vue devtools? Also there's been a couple of times where I had to quit Chrome and restart it to get the devtools working properly...

    • @davidpile2576
      @davidpile2576 2 года назад

      @@MakeAppswithDanny I had an older version and had just upgraded it. Also I did restart Chrome. It worked fine, it just wasn't obvious that I had a different selection in the menu I mentioned

  • @vigilantezack
    @vigilantezack 2 года назад +4

    Something that would be helpful is to use Vue in the context of a larger project such as a PHP framework (Laravel, WordPress plugin etc). What I find confusing is that most tutorials assume we are building a 100% Vue app all by itself bundled in a tidy little folder. But in the case of WordPress for example, the overall page is dynamically created by PHP, and your JS and other assets have to be enqueued. I'm not sure how this changes the type of compiling we do, for example bundling. Sometimes we bundle Vue but sometimes we leave it out and load from CDN on its own. What are the rules here? How do you work with NPM and bundling and such when part of the app is dynamically generated from something outside NPM? Don't we need to protect our dev sources and make sure those dev files don't get distributed with the plugin?
    I have an app I'm doing now as a WordPress plugin, and I'm using Vue for the main interface. It's tightly coupled to the WP theme, custom fields, page builder etc. I can't use npm run dev or preview because there isn't just a single index.html file sitting there that can be served, the entire WordPress site would have to be served to test the app.
    I just find the whole thing a bit confusing. There are a million tutorials about opening a fresh empty folder and starting a Vue or Vite project, but almost none that help you "inject" Vue into a separate architecture.
    As one example, when I try to run "npm run build", Vite expects there to be an index.html file sitting there that it can bundle. But in my WP app there wouldn't be, and Vite complains. I can adjust the config to pick some other name for this file, but in fact this file isn't necessary, because the plugin is not loading static html files, the page is being generated by dynamic PHP, and I couldn't figure out how to make Vite understand what to do. Vite also names the bundle with a random text like "bundle-39sk34u9sj.js", but when it does this, it means I have to go update the WordPress enqueue function with the new name. I didn't see any way to make Vite not add these strings to the bundle.
    Anyway, thanks for the video, it helps, but I keep running in to so many issues because I'm not doing a tidy standalone pure Vue app all wrapped up in a single folder.

    • @sania3631
      @sania3631 Год назад

      There is a different approach to use Vue with WordPress.... that is to have WP as headless serving just data through either REST API or graphql (using wp-graphql plugin and its few extensions such as wp-graphql-jwt for authentication). I prefer consuming WP data using GraphQl.
      That being set up, you can then create a separate Vue project for the front-end. Again, you can use plugins such as vue-apollo or vue-urql to get graphql data from the back-end. If you prefer REST API you can use Axios in the front-end.
      The above approach is much cleaner separating fully the back-end from the front-end and your WP becomes fully agnostic.

    • @vigilantezack
      @vigilantezack Год назад

      @@sania3631 WordPress is not headless. It's the client's website, they use in the traditional sense. I guess you must be saying to load WP headless directly just into my plugin app?
      If I had a sample plugin built this way I could analyze, that would help.

  • @unkn0wnrge189
    @unkn0wnrge189 Год назад +1

    Like, subscribe and commented, well done video, well comented edited organized, simple and great.

  • @SurushCyrusAfsarEdorg
    @SurushCyrusAfsarEdorg Год назад +2

    Great Video, thanks, Danny. Can we have watch in Pinia store? Let’s say if count > 10 reset to 0.
    Kind of like comp API
    watch(count, (target) => {
    if (target > 50) {
    count.value = 0
    }
    })

    • @MakeAppswithDanny
      @MakeAppswithDanny  Год назад +1

      Thanks Surush! Yes, you can, but you will need to use the "Setup Store" approach to creating your store rather than the "Options Store" which is covered in this video. This is a more "Composition API" style approach: pinia.vuejs.org/core-concepts/#setup-stores

  • @dekebaoe
    @dekebaoe 2 года назад +4

    Thanks Danny.
    Great as always.
    Can u make new Videos on
    Quasar?
    Especially such, where building Mobile Apps?
    Can i ask u what's the technical solution for using Local-PushNotifications in Quasar-Cordova App.
    I want to build some kind of,
    Fasting App, where the user can set a time(for the Pushnotification ) when he can have meal the next time.
    Pushnotification (as kind of reminder) has to pop up from a closen app.
    Did i have to use Localstorage?
    And some kind of service worker?
    Or just a plugin?
    Thank you

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад

      For a mobile app to be published to the App Store(s)? It’s probably best to avoid PWA. You can do native notifications like that using Cordova plugins. Not sure which ones off the top of my head…

    • @dekebaoe
      @dekebaoe 2 года назад +1

      Yeah an app to be published to the app stores.
      Ok i will do a research.
      One last question,
      Do u still recommend cordova over capacitor?
      And if yes, why?

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад

      @@dekebaoe To be honest I haven't tried Capacitor. I've always been able to do what I need with Cordova, so I've just stuck with that...

    • @iliaryzhkov
      @iliaryzhkov 2 года назад +1

      @@MakeAppswithDanny I'm curious how you're gonna publish Fudget 2 to the App Store? Are you gonna rewrite the app? Sorry for a silly question.

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад +1

      @@iliaryzhkov yes I’m rebuilding it from scratch. It will be a completely separate app. I’ll rename the old version to Fudget Classic or something like that

  • @JoveJonovski
    @JoveJonovski 2 года назад +1

    Thanks for the great video as always! But modules like Pina and Vuex always confuses me with when using vue3. Whats the benefit of using them instead of just global ref/reactive value exported/imported on demand?

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад +1

      Thanks Jove. The main benefit is the debugging capabilities in Vue devtools - I.E being able to see the entire state and modify state properties via the devtools

  • @penggreat5992
    @penggreat5992 Год назад +1

    Great Toturial. But I was wondering why you did not call instance.use(createPinia()) before defineStore, so is it essential to ues(createPinia) in the main.js?

    • @MakeAppswithDanny
      @MakeAppswithDanny  Год назад +1

      Thanks Peng. I think this was added automatically by the build tool (at the start). 👍

  • @shawnshaw9859
    @shawnshaw9859 2 года назад +1

    at 7:22 why .buttons button{}, what does the same 'button' mean here? Just bought your udemy course, great style at teaching!

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад +1

      Thanks Leo & welcome to the course! .buttons will select the div with a class of buttons. And button will select the button element inside that div. I have a short course on the basics of HTML, CSS & JavaScript which might help you: dannys.link/firstwebsite

  • @aguilarmarvin6303
    @aguilarmarvin6303 2 года назад +2

    Good job! How can i use router.push() inside pinia?

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад +1

      Haven't tried it yet Aguilar. Looks like you need to use a Pinia plugin: stackoverflow.com/a/70905178

  • @shorthaircut_blog1274
    @shorthaircut_blog1274 2 года назад +2

    nice lecture on Pinia and thanks for all you do. Danny, do you think it's wise to use firebase for my mobile app? please I need your opinion

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад +1

      Thanks! It’s hard to say, it depends on the project. I’m using Firebase for Fudget 2. What i did was spend a day or two estimating the potential costs based on my particular app. And it seemed like it would work out ok. Obviously you need to be very careful and make sure you’re only adding and reading data when necessary. A few people have received insanely huge bills because they didn’t code it right.

    • @brandonsayring
      @brandonsayring 2 года назад +1

      ​@@MakeAppswithDanny haha I remember seeing a Colombian crowd funding website a couple of years back who racked up over $30k USD in 72 hours because of this very reason.

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад

      @@brandonsayring 😂

    • @shorthaircut_blog1274
      @shorthaircut_blog1274 2 года назад +1

      @@MakeAppswithDanny can the mobile app also be done with a persistent vuex without needing firebase and leaving it for the user's device storage

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад +1

      @@shorthaircut_blog1274 Yes you could do. Although browser storage (localstorage, websql, indexedb etc) can be a bit unreliable. Especially on Android - it can sometimes be wiped for example when the user updates their Android OS. 👍

  • @EViL3666
    @EViL3666 Год назад +1

    What VSCode extension are using to get the div.button intelli-typing to work?

    • @MakeAppswithDanny
      @MakeAppswithDanny  Год назад

      That's Emmet, it should be built into VSCode and work by default. You can find info on the VSCode website.

  • @fleminlouis6861
    @fleminlouis6861 Год назад +1

    Hi @Danny,
    If I open the same app in the next tab my store is getting reset. any help ?
    I don't want to store state in my local using persistedState

    • @MakeAppswithDanny
      @MakeAppswithDanny  Год назад +1

      You will need to store it somewhere (and then retrieve it), either in LocalStorage, IndexedDB or in a back-end database 👍

  • @MusicandCoding
    @MusicandCoding 2 года назад +1

    Couldn't get it to work at first setting up the counter. I was wondering why there was no setup function and why we didn't return the count variable. Then I noticed the setup attribute on the script tag. I had no idea you could do that. Interesting..

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад +1

      Yeah check out my script setup Tutorial: ruclips.net/video/9whgkjxoCME/видео.html

  • @nathanpaludo7078
    @nathanpaludo7078 2 года назад +1

    Thanks for this! I'm starting to use Pinia in my project but it wont show on my devtools hmmmm is there something Im doing wrong?

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад

      Check u have the latest version of Vue devtools. Also, quitting Chrome and restarting sometimes fixes this issue for me.

  • @mohammedali03
    @mohammedali03 2 года назад +1

    10:25 in which case you need to use "computed() " ?

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад

      I'm not sure what you mean, DOMI. We are using a computed property here?

  • @pinyinxingming1821
    @pinyinxingming1821 Год назад +1

    Please can you do tutorial on pinia crud and auth using vue3

  • @cant_sleeeep
    @cant_sleeeep 2 месяца назад

    please make a nuxt course

  • @tanzimibthesam5861
    @tanzimibthesam5861 2 года назад +2

    Does Quasar support Pinia?

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад +1

      Yes Tanzim. There is now an option to add Pinia when you create a new Quasar project. They’ve also added documentation about it. 👍

  • @user-re8lt2gy3g
    @user-re8lt2gy3g 11 месяцев назад +1

    It's a global state what if we want to use that independently and each component has it's own state ?

    • @MakeAppswithDanny
      @MakeAppswithDanny  11 месяцев назад

      It depends, but you could have separate stores for each component.

  • @alexlytle089
    @alexlytle089 2 года назад +1

    Doesn't this basically turn your app back into the options API? your store actions are basically just global methods?

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад

      It is kinda similar to Options API, but it also gives you global state management across your app

  • @khashayarshomali
    @khashayarshomali Год назад +1

    How to show a banner with pinia?
    I want to show a banner when user click on a log in button

    • @MakeAppswithDanny
      @MakeAppswithDanny  Год назад +1

      You could just have a state property which toggles whether or not it is shown, e.g:
      state: () => ({
      showBanner: false
      }),
      My banner

    • @khashayarshomali
      @khashayarshomali Год назад

      @@MakeAppswithDanny thank you

  • @nagamachiku8699
    @nagamachiku8699 2 года назад +1

    Greetings: How much do you charge to do an iOS App? Thank you kindly. Stay safe ;-)

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад

      I don't currently do any freelance app development, nagamachi 👍

    • @nagamachiku8699
      @nagamachiku8699 2 года назад

      Do you happened to know of someone who would-by any chance, please? I’m in Newcastle. Thank you kindly. Stay safe always…

  • @ddrdeveloper
    @ddrdeveloper Год назад +1

    Спасибо тому, кто перевел видео заранее, не пришлось ждать )))

  • @mikmattos
    @mikmattos 2 года назад +1

    the only pinia i want is colada

  • @trevor14725
    @trevor14725 2 года назад +1

    the red ring when clicking is too much

  • @nyambe
    @nyambe Год назад +1

    Why use pinia over a composable?

    • @MakeAppswithDanny
      @MakeAppswithDanny  Год назад

      Main reason is that you can have a clearer picture of what is going on via the devtools integration. Also, there is a new "setup" style available in Pinia stores which is more like composables.

    • @nyambe
      @nyambe Год назад +1

      @@MakeAppswithDanny I see, that sounds good. Using a store in the past in large projects has created some unexpected bugs. I love the concept of keeping everything in together for easy reusing of code. I will give it a try ... but I love the composable system.

    • @MakeAppswithDanny
      @MakeAppswithDanny  Год назад

      @@nyambe It's perfectly fine to do it that way 👍

  • @migueld8970
    @migueld8970 Год назад +1

    Welp.. well time to refactor my app from a garbled mess of emitters and functions lol.

  • @siux94
    @siux94 2 года назад +1

    This is 10 minute video forcefully extended to 34 minutes.

    • @MakeAppswithDanny
      @MakeAppswithDanny  2 года назад

      More like a 1 hour video forcefully edited down to 34 minutes! 😂

    • @siux94
      @siux94 2 года назад

      @@MakeAppswithDanny c'mon, this is literally example from starter documentation. It's even less than 10 minute read.
      You put too much of boilerplate talk

  • @ziad_jkhan
    @ziad_jkhan 2 года назад +2

    No giving it a like just because he's using close-sourced Chrome instead of open-source Firefox

    • @MrMartinR
      @MrMartinR 2 года назад +2

      thanks for using open source RUclips...

    • @ziad_jkhan
      @ziad_jkhan 2 года назад

      @@MrMartinR The level of dumbness is beyond me. It's too late for online videos. There is no competitor and it's gona be the same level of control, dictatorship and debauchery soon at the browser level itself if we keep favoring Chrome. It always starts innocent, as was the case with IE6 and the EEE strategy. And when the abuse starts it's too late and there's no going back. Is that what you want?
      May be those videos might help figure it out:
      watch?v=eA8O97U1Pbc
      watch?v=IQXLwA1YPDM

    • @ziad_jkhan
      @ziad_jkhan 2 года назад +1

      @@MrMartinR The movie Idiocracy is starting to sound like a documentary these days. Another one I watched lately is Sorry To Bother You...not as funny but quite insightful.

    • @joak-web
      @joak-web 2 года назад

      Still resisting with FF here too, but I get when people decide to go with the tide.

    • @astrolillo
      @astrolillo 2 года назад

      sad mor_on

  • @konathambabu6682
    @konathambabu6682 11 месяцев назад

    Stop background music

  • @elmenikmati
    @elmenikmati Год назад +1

    ¡Thank you Danny! I´m very exciting to migrate a project using Vuex, regards from México

  • @taha8braim
    @taha8braim 9 месяцев назад +1

    Thank you