You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/learn/updating-arrays-in-state.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -792,7 +792,7 @@ En interne, Immer construit toujours le prochain état à partir de zéro en fon
792
792
793
793
#### Mettre à jour un élément dans le panier {/*update-an-item-in-the-shopping-cart*/}
794
794
795
-
Complétez la logique de `handleIncreaseClick` de manière à ce que lorsque l'on appuie sur « + », le nombre correspondant augmente :
795
+
Complétez la logique de `handleIncreaseClick` de manière à ce que lorsqu'on appuie sur « + », le nombre correspondant augmente :
796
796
797
797
<Sandpack>
798
798
@@ -917,9 +917,9 @@ button { margin: 5px; }
917
917
918
918
</Solution>
919
919
920
-
#### Supprimer un article du panier {/*remove-an-item-from-the-shopping-cart*/}
920
+
#### Retirer un article du panier {/*remove-an-item-from-the-shopping-cart*/}
921
921
922
-
Ce panier d'achat dispose d'un bouton « + » fonctionnel, mais le bouton « – » ne fait rien. Vous devez lui ajouter un gestionnaire d'événements pour qu'en appuyant dessus, le `count` du produit correspondant diminue. Si vous appuyez sur « – » lorsque le count est de 1, le produit devrait automatiquement être retiré du panier. Assurez-vous qu'il n'affiche jamais 0.
922
+
Ce panier d'achat dispose d'un bouton « + » fonctionnel, mais le bouton « – » ne fait rien. Vous devez lui ajouter un gestionnaire d'événement pour qu'en appuyant dessus, le `count` du produit correspondant diminue. Si vous appuyez sur « – » lorsque le count est à 1, le produit devrait automatiquement être retiré du panier. Assurez-vous qu'il n'affiche jamais 0.
923
923
924
924
<Sandpack>
925
925
@@ -1078,9 +1078,9 @@ button { margin: 5px; }
1078
1078
1079
1079
</Solution>
1080
1080
1081
-
#### Corriger les mutations en utilisant des méthodes non modifiantes {/*fix-the-mutations-using-non-mutative-methods*/}
1081
+
#### Basculer vers des méthodes non modifiantes {/*fix-the-mutations-using-non-mutative-methods*/}
1082
1082
1083
-
Dans cet exemple, tous les gestionnaires d'événements dans `App.js` utilisent des mutations. Par conséquent, l'édition et la suppression des tâches ne fonctionnent pas. Réécrivez `handleAddTodo`, `handleChangeTodo` et `handleDeleteTodo` en utilisant des méthodes non modifiantes :
1083
+
Dans cet exemple, tous les gestionnaires d'événements dans `App.js` utilisent des modifications en place. Par conséquent, la modification et la suppression des tâches ne fonctionnent pas. Réécrivez `handleAddTodo`, `handleChangeTodo` et `handleDeleteTodo` en utilisant des méthodes non modifiantes :
Dans `handleAddTodo`, vous pouvez utiliser la syntaxe de *spread* de tableaux. Dans `handleChangeTodo`, vous pouvez créer un nouveau tableau avec `map`. Dans `handleDeleteTodo`, vous pouvez créer un nouveau tableau avec `filter`. Maintenant, la liste fonctionne correctement:
1246
+
Dans `handleAddTodo`, vous pouvez utiliser la syntaxe de *spread* de tableaux. Dans `handleChangeTodo`, vous pouvez créer un nouveau tableau avec `map`. Dans `handleDeleteTodo`, vous pouvez créer un nouveau tableau avec `filter`. À présent, la liste fonctionne correctement:
#### Corriger les mutations en utilisant Immer {/*fix-the-mutations-using-immer*/}
1414
+
#### Corriger les modifications en utilisant Immer {/*fix-the-mutations-using-immer*/}
1415
1415
1416
-
Il s'agit du même exemple que dans l'exercice précédent. Cette fois-ci, corrigez les mutations en utilisant Immer. Pour vous faciliter la tâche, `useImmer` est déjà importé, vous devez donc modifier la variable d'état `todos` pour l'utiliser.
1416
+
Il s'agit du même exemple que dans l'exercice précédent. Cette fois-ci, corrigez les modifications en utilisant Immer. Pour vous faciliter la tâche, `useImmer` est déjà importé, vous devez donc modifier la variable d'état `todos` pour l'utiliser.
Avec Immer, vous pouvez écrire du code de manière modifiante, tant que vous ne modifiez que les parties du `draft` que Immer vous fournit. Ici, toutes les mutations sont effectuées sur le `draft` de sorte que le code fonctionne correctement:
1598
+
Avec Immer, vous pouvez écrire du code de manière modifiante, tant que vous ne modifiez que des parties du `draft` que Immer vous fournit. Ici, toutes les modifications sont effectuées sur le `draft` de sorte que le code fonctionne correctement:
Vous pouvez également combiner les approches modifiantes et non modifiantes avec Immer.
1785
1785
1786
-
Par exemple, dans cette version, `handleAddTodo` est implémenté en effectuant des mutations sur le `draft` d'Immer, tandis que `handleChangeTodo` et `handleDeleteTodo` utilisent les méthodes non modifiantes `map` et `filter`:
1786
+
Par exemple, dans cette version, `handleAddTodo` est implémenté en modifiant le `draft` d'Immer, tandis que `handleChangeTodo` et `handleDeleteTodo` utilisent les méthodes non modifiantes `map` et `filter`:
0 commit comments