Deux idées de base dans Redux
Avant de commencer à étudier la bibliothèque Redux, familiarisons-nous avec ses deux idées fondamentales. La première idée, concernant la gestion d'état, nous l'examinerons à l'aide d'un exemple de compteur ordinaire sur l'état dans React :
function Counter() {
// State
const [count, setCount] = useState(0)
// Action:
function clickHandler() {
setCount(count + 1)
}
// View:
return (
<div>
<span>{count}</span>
<button onClick={clickHandler}>+</button>
</div>
)
}
Dans ce code, nous voyons l'état
pour la variable count - c'est
la source de vérité pour le compteur. Ensuite, nous voyons
une action - un événement,
qui suite à un clic de l'utilisateur déclenche
une mise à jour de l'état. Et enfin,
la vue,
à l'aide de laquelle nous affichons
l'interface utilisateur.
Ainsi, le schéma est assez simple :
le bouton est pressé - l'état count (State)
suite à la pression (Action) change, par conséquent
la vue (View) change - dans notre cas
c'est le nombre à l'écran.
Cependant, tout sera plus complexe si nous avons de nombreux composants qui doivent utiliser le même état. On peut, bien sûr, par exemple remonter l'état vers les composants parents, mais une telle solution ne peut pas toujours résoudre le problème. Redux dans ce cas nous propose de créer un endroit unique dans l'application, qui contiendrait l'état global et des modèles de comportement définis lors de la mise à jour de cet état. C'est précisément en cela que réside la première idée fondamentale (!).
La seconde idée est liée à l'immuabilité, c'est-à-dire à la non-modification des données. Vous vous souvenez bien sûr, en JavaScript, que les tableaux et les objets peuvent être modifiés. Modifier les données directement dans Redux, comme dans d'autres frameworks, est considéré comme une mauvaise pratique et peut conduire à des conséquences imprévisibles. C'est pourquoi dans Redux, nos objets et tableaux initiaux doivent rester immuables, et nous ne pouvons modifier que leurs copies.
Expliquez en quoi consiste la première idée fondamentale de Redux.
Expliquez en quoi consiste la seconde idée fondamentale de Redux.