C'est exactement ce que j'utilise pour mes modals en ayant trouvé des exemples sur github il y a quelques mois, en autodidacte complet (et sans avoir appris redux quoi), et ça m'a permis d'éviter les prises de tête :)
Tout n'est pas à mettre à la poubelle pour suivre les tendances, car il y a des entreprises qui l'utilisent. Tu en as même parlé dans ta vidéo sur Bun.
Intéressant ! Parcontre pour etre dans la meme dynamique que nodejs / bun. Redux est hyper utilisé et deja intégrés dans beaucoup de projets, non ? Donc vaut mieux apprendre redux ?
Redux est plus lourd et plus complexe. Je te recommande Redux RTK, qui aura une implementation similaire à Zustand. Sauf qu'il faudra 'Wrapper' ton appli avec un Provider et passer le store en prop. Ca reste toute fois plus lours en poids et en ligne de code et utilisation que Zustand,
@@maxwebstudio Oui j'ai déjà fait un projet avec redux toolkit + Addon rtk. Ma question était juste sur le fait que redux est utilisé en entreprise. Donc il ne faut pas le mettre à la poubelle ( enfin je suppose , je vois pas mal d'offres d'emploi qui demande redux) PS: (redux rtk c'est pour gérer les api, tu veux dire redux toolkit ? )
Non car Redux implémente un pattern complexe qui n'est plus pertinent maintenant, le pattern de flux, dispatch, event etc... Je trouve que ce pattern rend le code verbeux pour pas grand chose dans beaucoup de projets et il est fait pour gérer des state très liée, qui interagissent et fonctionne entre eux (aka mes vidéos sur le sujet)
@@MaximeOnDev Oui RTK pour Redux Toolkit. C'est bien de le connaitre. Mais perso si on ne me l'impose pas, je ne pense pas le réutiliser pour le moment... Comme le dit @melvynxdev, c'est beaucoup trop verbeux.
Hello, superbe vidéo bien intéressante ! Tu penses qu'il faut intégrer zustand à quel moment ? Sur une gestion de state local à un component les useState natif sont suffisant, zustand vient uniquement en remplacement du prop drilling du coup c'est ça ?
Il faut l'intégrer si tu as des states globaux, qui ne sont pas local à un endroit en gros et que tu souhaites partager dans tout le lifetime de ton application
Hello Melvyn, merci pour la vidéo ! Tu peux en dire plus sur la manière dont tu gères "une session" d'un user? Genre pour chat2code, tu utilises le persist store de zustand (local storage?) ou tu fais autrement? Merci :)
c'est vrai c'est bcp plus simple qu'un redux store & ses reducers. et puis redux, quand tu debute, t'as beau proposer du code fonctionnel, on te retourne que tant tu "n'embrasses" pas Redux dans sa totale maitrise, mieux vaut eviter. j'espere que cette librairie pourra "bipass" ce mur :D
Le but de React n'est pas de proposer des outils tels que des stores, du routing, etc. Ils offrent des primitives qui permettent à la communauté de créer des choses. Si React proposait un store, comme VueX, les gens seraient peut-être moins tentés de créer des projets aussi bien faits. La concurrence est la clé pour créer des librairies incroyables, comme on l'a vu avec TanStack, etc.
React laisse la liberté de choisir ses outils. Cependant tu peux créer un store en utilise les React Contexte. C'est lourd en implementation, mais ca fonctionne pareil.
Personnellement je suis pas très accrocheur de zustand, en tout cas je suis beaucoup plus à l'aise avec redux, mais cela voudrais dire que si je veux fetch les données de mon serveur je dois utiliser zustand et react query ?
Moi j'utilise jotai. Mon choix départ était zustand mais ça systaxe m'avais fatigué j'avais l'impression de rien comprendre alors j'ai pris jotai il est tout petit mais il fait son boulot.
De mon côté, lorsque je fais appel a un store dans un de mes composants de cette façon : (...)case 200: cookieMan.addCookie("token", response.data[0]); store((state) => state.updateRefreshToken(response.data[1])); setAccess(response.data[0]); setRefresh(response.data[1]); (...) j'obtiens ceci : "Error: Invalid hook call. Hooks can only be called inside of the body of a function component." L'outil ne semble pas pouvoir s'utiliser de partout
Je pense que ça vient du fait que tu ne peux pas utiliser des hooks react dans un store Zustand ( setAccess, setRefresh semblent être des useState, donc des hooks React )
C'est exactement ce que j'utilise pour mes modals en ayant trouvé des exemples sur github il y a quelques mois, en autodidacte complet (et sans avoir appris redux quoi), et ça m'a permis d'éviter les prises de tête :)
ah génial
Très bonne librairie Zustand. Simple d'utilisation et très légère. Peut être la meilleure pour le state management React a l'heure actuelle
Je suis totalement d'accord
Wtfff,
Je vais refactor direct mon code
Très belle vidéo
merci beaucoup !
Tout n'est pas à mettre à la poubelle pour suivre les tendances, car il y a des entreprises qui l'utilisent. Tu en as même parlé dans ta vidéo sur Bun.
?? Zustand n'est pas une tendance
Top video, bravo et je commence zustand direct !
oh yeah !
Moi j’utilise recoil il est supporter par meta, que pensez vous ce cette librairie? je l’utilise partout react/React-native également tanstack.
Super librairie aussi
librairie cool mais à voir la taille du projet et des besoins
@@melvynxdev qu’entendez-vous par la taille du projet?? J’ai pas trop compris pouvez-vous m’éclairer la dessus ??? Svp
Jotai vient de recoil
Intéressant ! Parcontre pour etre dans la meme dynamique que nodejs / bun.
Redux est hyper utilisé et deja intégrés dans beaucoup de projets, non ? Donc vaut mieux apprendre redux ?
Redux est plus lourd et plus complexe. Je te recommande Redux RTK, qui aura une implementation similaire à Zustand. Sauf qu'il faudra 'Wrapper' ton appli avec un Provider et passer le store en prop. Ca reste toute fois plus lours en poids et en ligne de code et utilisation que Zustand,
@@maxwebstudio Oui j'ai déjà fait un projet avec redux toolkit + Addon rtk. Ma question était juste sur le fait que redux est utilisé en entreprise. Donc il ne faut pas le mettre à la poubelle ( enfin je suppose , je vois pas mal d'offres d'emploi qui demande redux)
PS: (redux rtk c'est pour gérer les api, tu veux dire redux toolkit ? )
Non car Redux implémente un pattern complexe qui n'est plus pertinent maintenant, le pattern de flux, dispatch, event etc...
Je trouve que ce pattern rend le code verbeux pour pas grand chose dans beaucoup de projets et il est fait pour gérer des state très liée, qui interagissent et fonctionne entre eux (aka mes vidéos sur le sujet)
@@MaximeOnDev Oui RTK pour Redux Toolkit. C'est bien de le connaitre. Mais perso si on ne me l'impose pas, je ne pense pas le réutiliser pour le moment...
Comme le dit @melvynxdev, c'est beaucoup trop verbeux.
Hello, superbe vidéo bien intéressante !
Tu penses qu'il faut intégrer zustand à quel moment ? Sur une gestion de state local à un component les useState natif sont suffisant, zustand vient uniquement en remplacement du prop drilling du coup c'est ça ?
Il faut l'intégrer si tu as des states globaux, qui ne sont pas local à un endroit en gros et que tu souhaites partager dans tout le lifetime de ton application
@@melvynxdev top merci
C’est quelle application que tu utilises pour la présentation ? Sinon très bonne vidéo
Hello, c'est excalidraw
Tu pourrais assez rapidement diviser ton MessageStore en slices et le rendre plus lisible non ?
On peut tout faire
Hello Melvyn, merci pour la vidéo !
Tu peux en dire plus sur la manière dont tu gères "une session" d'un user? Genre pour chat2code, tu utilises le persist store de zustand (local storage?) ou tu fais autrement? Merci :)
Hello, oui les config par exemple sont persister dans le local storage
woww, je suis conquis je le prend direct cette lib et je m'abonne direct lol.
ahah merci beaucoup !
c'est vrai c'est bcp plus simple qu'un redux store & ses reducers. et puis redux, quand tu debute, t'as beau proposer du code fonctionnel, on te retourne que tant tu "n'embrasses" pas Redux dans sa totale maitrise, mieux vaut eviter.
j'espere que cette librairie pourra "bipass" ce mur :D
Ahaha exactement, c'est surtout que zustand ne suit pas le pattern de "flux" proposer par Redux. Mais c'est peut-être une vidéo à faire.
Interessant, ça pourrait ressembler à quoi dans un grand projet ?
Pleins de store qui font des petit trucs
C'est bizarre que React n'intègre pas un Store nativement. Ce genre de système existe dans Vuex et Redux depuis plusieurs années.
Moi aussi, je n'ai jamais compris pourquoi.
Le but de React n'est pas de proposer des outils tels que des stores, du routing, etc. Ils offrent des primitives qui permettent à la communauté de créer des choses. Si React proposait un store, comme VueX, les gens seraient peut-être moins tentés de créer des projets aussi bien faits. La concurrence est la clé pour créer des librairies incroyables, comme on l'a vu avec TanStack, etc.
React laisse la liberté de choisir ses outils. Cependant tu peux créer un store en utilise les React Contexte. C'est lourd en implementation, mais ca fonctionne pareil.
en tant que dev vuejs, je bois mon café ☕
tu bois ton vuex
@@melvynxdevDésormais connu sous le nom de pinia
vuex et pinia son deux projet différent mais par contre oui, pinia et l'actuel store système de vue 3 ! @@tcsagadev1653
je bois plus tôt une pinia-colada @@melvynxdev
ahah génial
Personnellement je suis pas très accrocheur de zustand, en tout cas je suis beaucoup plus à l'aise avec redux, mais cela voudrais dire que si je veux fetch les données de mon serveur je dois utiliser zustand et react query ?
Redux dispose RTK Query (comme addon) qui fait à 80% ce que fait React Query
non mais React Query est 100x mieux xD
Pour moi Redux résout pas le même problème que React Query, aka toutes mes autres vidéos
React-Query est un state manager de la donnée que tu fetch via axios, fetch etc... Donc tu pourrais utiliser que react query si tu voulais :)
Possède-t-il un système de pertinence des données ?
tu peux le save dans le local storage oui !
Moi j'utilise jotai. Mon choix départ était zustand mais ça systaxe m'avais fatigué j'avais l'impression de rien comprendre alors j'ai pris jotai il est tout petit mais il fait son boulot.
Je trouve la syntaxe de Zustand plus simple que Jotai perso..
Jotai c'est sympa aussi mais j'ai jamais réussi à m'y mettre.
@@maxwebstudio jotai c'est facile de faire du désordre mais je le trouve simple à utilisé mais je vais revoir zustand. Melvyn a simplifier ça.
ahah au plaisir
Salut melvynx tu peux nous faire une vidéo sur locomotive Scroll avec react
euhhhhh oui
Ma librairie préférée ❤
yeah
Top
merci
Sinon t'as les atoms jotai c'est pas mal non plus
oui totlamenet
perso j’utilise redux pour la persistance uniquement dans RN mais c’est deja trop verbeux. je Valide Zustand
ah oui je comprends !
ça ressemble a du solidjs
SolidJS ressemble à React plus que l'inverse
React context API 🫳🎤
non non moins bien
Horrible la musique de fond ☠️ ce serait mieux sans rien. Bonne explication sinon
Depuis il y en as moins
De mon côté, lorsque je fais appel a un store dans un de mes composants de cette façon :
(...)case 200:
cookieMan.addCookie("token", response.data[0]);
store((state) => state.updateRefreshToken(response.data[1]));
setAccess(response.data[0]);
setRefresh(response.data[1]);
(...)
j'obtiens ceci : "Error: Invalid hook call. Hooks can only be called inside of the body of a function component."
L'outil ne semble pas pouvoir s'utiliser de partout
hello, avec ton code je ne peux pas vraiment review toutes les informations
Je pense que ça vient du fait que tu ne peux pas utiliser des hooks react dans un store Zustand ( setAccess, setRefresh semblent être des useState, donc des hooks React )
@@not82 je devais declarer ma paire {refreshToken, updateRefreshToken} = storeToken() a la maniere d'un useState. ca fonctionne bien :)