Les trucs à la redux ou vuex proposent surtout un formalisme pour encourager le développeur à épouser les concepts de flot de données unidirectionnel.
En bref, idéalement, tu as UN état centralisé pour ton application, qui va permettre de "rendre" ta vue, et ta vue va ensuite émettre des événements qui vont provoquer la modification de ton état centralisé, qui va provoquer un nouveau rendu de ta vue, etc etc.
Dans ce système, le moindre élément de la vue est affiché en fonction de données de ton état et il est souhaitable de ne pas avoir des "morceaux" d'état stockés ailleurs que dans ton état central (genre l'item courant d'une combobox, l'élément qui a le focus, etc).
C'est souvent difficile d'être pur à ce niveau là, surtout avec des frameworks javascripts, mais il y a des environnements où c'est plus facile et où l'on a pas le choix. Je pense en particulier à mon petit chouchou : Elm.
Le fait également de ne pas avoir le choix que de passer par un système de messages (on peut les appeler aussi "action" dans certains frameworks) pour modifier l'état permet de soulager la charge cognitive qu'on doit se traîner quand on essaye de comprendre un code.
[^] # Re: Et vue.js alors?
Posté par Guillaume Denry (site web personnel) . En réponse au journal 8 mois avec Javascript (ES6) et vue.js : mon retour d'expérience du développement front en 2018. Évalué à 8. Dernière modification le 09 novembre 2018 à 17:10.
Les trucs à la redux ou vuex proposent surtout un formalisme pour encourager le développeur à épouser les concepts de flot de données unidirectionnel.
En bref, idéalement, tu as UN état centralisé pour ton application, qui va permettre de "rendre" ta vue, et ta vue va ensuite émettre des événements qui vont provoquer la modification de ton état centralisé, qui va provoquer un nouveau rendu de ta vue, etc etc.
Dans ce système, le moindre élément de la vue est affiché en fonction de données de ton état et il est souhaitable de ne pas avoir des "morceaux" d'état stockés ailleurs que dans ton état central (genre l'item courant d'une combobox, l'élément qui a le focus, etc).
C'est souvent difficile d'être pur à ce niveau là, surtout avec des frameworks javascripts, mais il y a des environnements où c'est plus facile et où l'on a pas le choix. Je pense en particulier à mon petit chouchou : Elm.
Le fait également de ne pas avoir le choix que de passer par un système de messages (on peut les appeler aussi "action" dans certains frameworks) pour modifier l'état permet de soulager la charge cognitive qu'on doit se traîner quand on essaye de comprendre un code.