Zustand React State Management Course (Simple Redux Alternative)

Поділитися
Вставка
  • Опубліковано 10 лют 2025

КОМЕНТАРІ • 120

  • @NiklasZiermann
    @NiklasZiermann Рік тому +96

    Once again, thank you for giving me the opportunity to post this course to the channel. I'm really happy to already see so many people appreciating it!
    Have a good day y'all :)

    • @eduardalbrecht9585
      @eduardalbrecht9585 Рік тому

      Hast du richtig gut gemacht 👌

    • @NiklasZiermann
      @NiklasZiermann Рік тому

      @@eduardalbrecht9585 Danke dir 😄

    • @keenanduplessis3023
      @keenanduplessis3023 Рік тому +1

      Great Course ❤‍🔥

    • @deumolo
      @deumolo Рік тому +1

      You have a gift for teaching, man ... please continue with it.
      This was an incredibly good tutorial.
      Thank you.

    • @NiklasZiermann
      @NiklasZiermann Рік тому

      Update: If you stumble across some issues with the bit about equality functions, then you should probably be checking out the createWithEqualityFn function from version 4.4.0 and up. Because the way to do it that I used in the course is now deprecated.

  • @kiddhkane
    @kiddhkane 7 місяців тому +1

    I like how you iterate steps, starting from very basic to more and more advanced, instead of doing a whole task in one go. It really helps see the necessary steps and debug.

  • @林翔太-k9g
    @林翔太-k9g 3 місяці тому +1

    Since I couldn't find any Japanese materials on Zustand, I watched an overseas video for the first time. It was very educational. I'll use it in my next project.

  • @ROVAKAN
    @ROVAKAN Рік тому +14

    i was expecting a zustand tutorial but this guy keeps writing css :D

  • @FunctionGermany
    @FunctionGermany Рік тому +18

    6:35 "shadow DOM" is a browser API which is not what React uses. the correct name is virtual DOM or VDOM. Vue uses it too.

    • @Hizbullla
      @Hizbullla Рік тому +1

      Virtual DOM isn't an official term. Even the React team is hesitant to call it that and wants to move away from that terminology.

    • @FunctionGermany
      @FunctionGermany Рік тому +8

      @@Hizbullla you're probably technically correct, but VDOM is currently the commonly known and used term for this approach. it's definitely much "more correct" than shadow DOM, which something completely different 😄

  • @user-gm3lg8gp3m
    @user-gm3lg8gp3m Рік тому +1

    "The Why Zustand?" section was brilliant.

  • @ONealOmbu
    @ONealOmbu Рік тому +18

    After 2 months, I'm glad to see there's an expanded video on Zustand. Now I can continue building my e-commerce application but please next time focus on the topic. You took longer time focusing on styling which wasn't necessary. Thanks.

  • @tableryu7557
    @tableryu7557 4 місяці тому +2

    Thanks for the Zustand and CSS tutorial 💙

  • @soumadip_banerjee
    @soumadip_banerjee Рік тому +8

    Ein Deutscher! Wow.. Toll! Ich komme aus Indien, aber ich versuche Deutsch zum lernen.. Es ist nicht einfach, but, eehh.. es geht! Super Tutorial! 👌🏻 🇮🇳❣️🇩🇪

  • @tonykharioki6913
    @tonykharioki6913 Рік тому +3

    this is so cool. I'm building a react native app and I needed a better option than context and thank you for this. this really helped me.

  • @jwhubert91
    @jwhubert91 Рік тому +8

    So awesome that this was uploaded on the same day I was looking for it! Really looking forward to something easier to use than Redux- React is overdue for something hooks based that doesn't involve a lot of boilerplate template junk code just to get running

  • @AleksandarZedi
    @AleksandarZedi Рік тому +3

    quick, simple. efficient, straight to the point, great video

  • @jasonadventure2265
    @jasonadventure2265 Рік тому +2

    Thanks a lot for your presentaion, from your video I can understand and drive zustand to manage the react state. From my understanding, it generates a private memory area in the brower side where various types of object and values as well as function can be operated in this memory block. and It can be accessed by outside components. very good job Niklas.

  • @iamjustlearner5866
    @iamjustlearner5866 Рік тому +2

    great demonstration in the real case!

  • @swadeshswaroopbehera8465
    @swadeshswaroopbehera8465 10 місяців тому

    I was worried looking at redux boilerplate, pheww. Thanks mate.

  • @mahdimey4990
    @mahdimey4990 9 місяців тому +7

    nice css tutorial👍

  • @hamzaashraf9529
    @hamzaashraf9529 Місяць тому

    Such an amazing Tutorial

  • @miraclenerdkidchiki6249
    @miraclenerdkidchiki6249 Рік тому

    This came at the right time....just started looking at zustand yesterday

  • @DarrylHebbes
    @DarrylHebbes Рік тому +2

    Thank you for pronouncing Zustand correctly 😂

  • @AL-rb7ku
    @AL-rb7ku Рік тому

    this is a gold mine thank you!!

  • @migaratennakoon5439
    @migaratennakoon5439 Рік тому

    great job

  • @martygo
    @martygo Рік тому

    Thank you for course.

  • @baldcoder_
    @baldcoder_ Рік тому +5

    I wonder if not using a Provider can be considered a pro. Without a Provider you can't reuse the same instance of a store for a different part of the app. There's already an issue and a StackOverflow question about lacking that ability in Zustand.
    It's also not faster than Context per se. It's faster than a Context that passes state to all consumers. It's very simple to create a smarter context that allows selective reacting that Zustand (and other libraries) feature.
    Zustand is awesome, but I feel like people keep missing out on the power of Context. I think I'll write an abstraction just to show how powerful it is 😅

  • @s1n7ax
    @s1n7ax 7 місяців тому

    Awesome tutorial

  • @siriusplayz5871
    @siriusplayz5871 Рік тому +1

    This is so cool. Thank you 👍

  • @tucson29
    @tucson29 Рік тому +3

    This helps me a lot, thx

  • @pandastory-abookseriesabou8568

    ​👌🏻​ Good as always 🚀​

  • @kevinkimutai1328
    @kevinkimutai1328 Рік тому +2

    Very nice tutorial.A little confusing though on why you chose to name the tasks object as title and state. status would be a less confusing name

  • @fallen_turbo
    @fallen_turbo Рік тому

    Amazing Video, I would love to see one for Jotai as well with Jack Harrington

  • @krismondevv7356
    @krismondevv7356 Рік тому +46

    I watch a lot of tutorials and please when you want to show an exact technology prepare your css before the tutorial,,

    • @rune3pro
      @rune3pro Рік тому +4

      I agree. I don't care about CSS, I'm here to learn about zustand

    • @chippandenga6722
      @chippandenga6722 2 місяці тому +1

      As a junior or beginner, I appreciate you including the CSS. You obviously csnnot cster for everbodys needs. The more experienced guys can simply skip the CSS portion. What are you whiningcabout? Still getting the tutorial for free😊

  • @SharmaTushar1-yt
    @SharmaTushar1-yt Рік тому +1

    21:20 Soon after adding shallow. It says useStore is deprecated?

  • @NehalDamania
    @NehalDamania Рік тому

    Nice Tutorial, Can we create similar tutorial on Jotai and a comparison of Both. Will be really helpful

  • @Viva-07
    @Viva-07 Рік тому

    Seems more like css video than zustand...but when the concept was edplained, it was good Thank you

  • @abubakarafzal9707
    @abubakarafzal9707 Рік тому

    really comprehensive video, Effort much appreciated.

  • @idunexist
    @idunexist Рік тому +7

    no offense, but i think it spends a lot of time writing css............not ideal for the impatient

  • @danypell2517
    @danypell2517 Рік тому +1

    The best state lib

  • @jasper5016
    @jasper5016 Рік тому

    Thanks, Niklas, you are a fantastic teacher. I would love to learn more from you. Do you have any Udemy course?

  • @0xtz_
    @0xtz_ Рік тому

    I need this 😮 thanks

  • @yllimdanny
    @yllimdanny Рік тому +3

    i used to learn a very simple way to use zustand, your way seems making things complicated. Maybe your way is too advance level for me.

  • @vidadoempreendedor2909
    @vidadoempreendedor2909 Рік тому

    Thanks for the work

  • @kolserdav
    @kolserdav Рік тому

    Oh, that's fantastic, down with the redux!

  • @giannifed
    @giannifed Рік тому

    Great Tutorial.

  • @vlogging-nk
    @vlogging-nk Рік тому +2

    it will be sure to use vite react, right?

  • @kuldeepbhatt8475
    @kuldeepbhatt8475 Рік тому

    MAH, MAAN! Just made fookin Trello from scratch! LMAO!! rad skills!!

  • @bonganintshangase6051
    @bonganintshangase6051 Рік тому +3

    Greate tutoral but it would be nice to leave if you left out the css and just focus on zustand.

  • @binukbe4401
    @binukbe4401 Рік тому +11

    This tutorial needs another tutorial tbh 😕

  • @DarylLaRocque
    @DarylLaRocque Рік тому +8

    Am I the only one who's confused with this explanation?

    • @Jahid20u
      @Jahid20u 7 місяців тому

      no, bro. count me in. This tutorial maybe not for beginner

  • @lored6811
    @lored6811 Рік тому +22

    As a German I have to say that you should look up how to say Zustand

  • @moon911x
    @moon911x Рік тому

    thanks a lot 🎉

  • @justine10997
    @justine10997 6 місяців тому

    I needed a quick solution to learn Zustand and I had to give up after battling with CSS for 45 minutes (first time I actually watch a tutorial in x0.75). The tutorial is good and I believe there is a lot of work behind. Just not a Zustand course.

  • @ShubhamHirap
    @ShubhamHirap 3 місяці тому

    addTask unit test case failed tried many things and follow line by line code from the video too. How it is working in the video?

  • @gongcheungman5999
    @gongcheungman5999 2 місяці тому

    Hi, I think there is a small misinfo, that react uses virtual dom not shadow dom

  • @jcubic
    @jcubic Рік тому +2

    You should not use Shadow DOM if you mean Virtual DOM. Shadow DOM is Browser API and part of Web Components.

  • @alexandershpilka5848
    @alexandershpilka5848 Рік тому +1

    Nice tutorial in general but a bit chaotic.

  • @jwoods9659
    @jwoods9659 Рік тому

    I'm learning code I'm picking up patterns and what to do fast BUT I really don't know the words to type all the time....its tough

  • @new_artiko
    @new_artiko Рік тому

    thanks!

  • @imadajail3818
    @imadajail3818 Рік тому

    Ty ❤

  • @blue_berry_pie64
    @blue_berry_pie64 Рік тому

    Yayyyy🎉🎉🎉🎉🎉🎉

  • @blubblurb
    @blubblurb Рік тому

    In the tutorial @22:26, evluating longest and then go over every element to see whether it exists is a bit slow. Just return false directly when the length of both elements differ.

    • @mikelan9854
      @mikelan9854 Рік тому

      what about if they have different values ?

    • @blubblurb
      @blubblurb Рік тому

      ​@@mikelan9854 You go over all the elements then if the length is the same. But you don't have to if the size already differs.

  • @ak-loz
    @ak-loz Рік тому +3

    Timestamps please :)

  • @simpsomk
    @simpsomk Рік тому

    Good but you should read what shadow DOM is

  • @khoroshoigra8388
    @khoroshoigra8388 Рік тому +4

    why not typescript ?

  • @joovitor
    @joovitor 11 місяців тому

    @25:29 what does he uses for the error appear on the line it ocurrered?

  • @maid768
    @maid768 Рік тому

    Endlich ein Deutscher

  • @krish-Ach
    @krish-Ach Рік тому

    Can a browser db like watermelon db be used instead of state management in react

  • @tejasgk369
    @tejasgk369 Рік тому

    🔥

  • @siriusplayz5871
    @siriusplayz5871 Рік тому

    I'm going to create my TODO app next using this course and firebase

  • @juliamax7519
    @juliamax7519 Рік тому +1

    23:03 Here is the source, I don't think it was possible for it to have been written that way at the time.
    ```ts
    // ... ignore
    const keysA = Object.keys(objA)
    if (keysA.length !== Object.keys(objB).length) {
    return false
    }
    for (let i = 0; i < keysA.length; i++) {
    if (
    !Object.prototype.hasOwnProperty.call(objB, keysA[i] as string) ||
    !Object.is(objA[keysA[i] as keyof T], objB[keysA[i] as keyof T])
    ) {
    return false
    }
    }
    return true
    ```

  • @RewlTheNoob
    @RewlTheNoob 5 місяців тому

    You really should have used a CSS library.
    And it wasn't a good choice to call "status" as "state", because it's confusing in a State Management course, especially since in Redux a lot of boilerplate prop was called "state".
    Besides that it wasn't a bad course, but it could be better.

    • @dimitrisoikonomou6081
      @dimitrisoikonomou6081 4 місяці тому

      Totally agree. You should use "status". The prev course I watched was about rtk and was confused in the beginning. Besides that good course

  • @evolutionxbox
    @evolutionxbox Рік тому +1

    Consider not using margin on flex children to space them evenly. Use gap.

  • @NeoCoding
    @NeoCoding Рік тому

    thanx good try but no need in styling here and why to call a variable state, it's confusing cuz state is reserved in redux ex

  • @rohulahadi3990
    @rohulahadi3990 Рік тому

    🔥😍

  • @rishiraj2548
    @rishiraj2548 Рік тому

    👍👍

  • @afaqahmad8918
    @afaqahmad8918 Рік тому +2

    First view ❤

  • @polisvlogs2471
    @polisvlogs2471 Рік тому

    👍🏼👍🏼👍🏼

  • @surajkumarsingh4857
    @surajkumarsingh4857 Рік тому

    WOW

  • @doslki6773
    @doslki6773 Рік тому

    please make a course for game maker

  • @elidonmorina
    @elidonmorina Рік тому +3

    Very poor demonstration of Zustand! If I was too see Zustand for the first time from this guy I would had never have used it!

    • @mikelan9854
      @mikelan9854 Рік тому

      i was just seeing zustand for the first time and wanted to not learn it anymore . Thank you , i'll now look for something simple and better than a chaotic css tutorial.

  • @usamaashraf4930
    @usamaashraf4930 5 місяців тому

    Zustand 10% css 90%

  • @okkkk88612
    @okkkk88612 Рік тому +4

    too fast, too much css, a little bit messy tutorial

  • @maxcelosdev
    @maxcelosdev Рік тому +4

    Why waste so much time in styling? Its a state management tutorial...

  • @rio3rh3i4ot3
    @rio3rh3i4ot3 Рік тому

    Here because context providers ruined my day

  • @kshitijvengurlekar1192
    @kshitijvengurlekar1192 Рік тому +1

    Not a very intutive explanation

  • @ישיקוסובר
    @ישיקוסובר Рік тому

    Plese meka chaybot in pythun

  • @BlueBear13
    @BlueBear13 Рік тому +1

    Bear

  • @aleejunaid
    @aleejunaid Рік тому

    You lost me at "Javascript" .... 😐

  • @jarenburks1515
    @jarenburks1515 Рік тому

    Too much CSS

  • @AleksandarZedi
    @AleksandarZedi Рік тому +1

    if you get error: "TypeError: Cannot convert undefined or null to object" use this import "import * as matchers from '@testing-library/jest-dom/matchers';"

  • @codexperience7951
    @codexperience7951 Рік тому

    I have this problem, in unit testing with vitest, can someone explain or provide a solution for this, this is the error. Sorry just a first timer in unit testing.
    TypeError: Cannot convert undefined or null to object
    ❯ setupTests.js:6:8
    4| import "@testing-library/jest-dom";
    5|
    6| expect.extend(matchers);
    | ^
    7|
    8| afterEach(cleanup);

    • @AleksandarZedi
      @AleksandarZedi Рік тому +1

      import * as matchers from '@testing-library/jest-dom/matchers'; this fixed it for me

  • @Vishal_0841
    @Vishal_0841 Рік тому

    Freecodecamp 🤝 student❤

  • @allsunday1485
    @allsunday1485 Рік тому +5

    The styling is a waste of time