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 :)
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.
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.
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.
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
Ein Deutscher! Wow.. Toll! Ich komme aus Indien, aber ich versuche Deutsch zum lernen.. Es ist nicht einfach, but, eehh.. es geht! Super Tutorial! 👌🏻 🇮🇳❣️🇩🇪
@@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 😄
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.
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 😅
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.
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.
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.
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 ```
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.
if you get error: "TypeError: Cannot convert undefined or null to object" use this import "import * as matchers from '@testing-library/jest-dom/matchers';"
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);