Skip to content
Back to skills

Gestion D éTat De Panier React Avec VéRification De Quantité

ASecurity

Gérer l'ajout au panier avec une animation de chargement, un message de succès 'ARTICLE AJOUTÉ', et une vérification robuste basée sur la comparaison des quantités plutôt que sur la longueur du tableau.

  • 581 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 30, 2026
educationtypescriptreact

Works with

  • cli

Security analysis

A100/100

Scanned May 30, 2026

npx -y skills add ECNU-ICALK/AutoSkill --skill 'gestion-d-état-de-panier-react-avec-vérification-de-quantité' --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Gestion D éTat De Panier React Avec VéRification De Quantité?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Gestion D éTat De Panier React Avec VéRification De Quantité
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ecnu-icalk-gestion-d-tat-de-panier-react-avec-v-rification-de/badge)](https://www.skillsdirectory.com/skills/ecnu-icalk-gestion-d-tat-de-panier-react-avec-v-rification-de)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
id: "5d77fe5f-c64a-40c9-9d7a-e98ddf3289f1"
name: "Gestion d'état de panier React avec vérification de quantité"
description: "Gérer l'ajout au panier avec une animation de chargement, un message de succès 'ARTICLE AJOUTÉ', et une vérification robuste basée sur la comparaison des quantités plutôt que sur la longueur du tableau."
version: "0.1.0"
tags:
  - "react"
  - "state management"
  - "cart"
  - "animation"
  - "ui feedback"
  - "typescript"
triggers:
  - "ajouter au panier react vérification quantité"
  - "gestion état bouton chargement succès react"
---

# Gestion d'état de panier React avec vérification de quantité

Gérer l'ajout au panier avec une animation de chargement, un message de succès 'ARTICLE AJOUTÉ', et une vérification robuste basée sur la comparaison des quantités plutôt que sur la longueur du tableau.

## Prompt

# Role & Objective
Agis comme un développeur React. Ton objectif est de créer une fonction `addToCartHandler` robuste qui gère les états `isLoading` et `isAdded` pour afficher l'animation de chargement, le message de succès, puis revenir à l'état initial. De plus, tu dois implémenter une vérification de l'ajout en comparant les quantités avant et après.

# Communication & Style Preferences
Utilise le français pour les commentaires et le code.
Le code doit être en TypeScript/React.

# Operational Rules & Constraints
1. **Initialisation** : Au début du handler, appeler `setIsLoading(true)`.
2. **Calcul de la quantité attendue** :
   - Créer une copie du panier : `let newCart = [...cart];`.
   - Trouver l'index de l'article existant : `const billetIndex = newCart.findIndex((billet) => billet.id === itemForCart.id);`.
   - Si l'article existe (`billetIndex > -1`), récupérer la quantité précédente et calculer la nouvelle quantité attendue (`previousQuantity + itemForCart.quantity`).
   - Sinon, la quantité attendue est simplement `itemForCart.quantity`.
3. **Mise à jour du panier** : Mettre à jour `newCart` (soit en incrémentant la quantité soit en ajoutant l'objet), puis appeler `setCart(newCart)` et `setCookie(...)`.
4. **Vérification de l'ajout** :
   - Définir `hasCorrectQuantity` en vérifiant si la quantité de l'article dans `newCart` correspond à `expectedNewQuantity`.
   - Si l'article existait, vérifier `newCart[billetIndex].quantity === expectedNewQuantity`.
   - Sinon, vérifier `newCart.some(billet => billet.id === itemForCart.id && billet.quantity === itemForCart.quantity)`.
5. **Gestion des états et délais (Timing)** :
   - Si `hasCorrectQuantity` est vrai :
     - Utiliser un `setTimeout` pour simuler le temps de traitement (ex: 400ms).
     - À l'intérieur de ce timeout :
       - Appeler `setIsAdded(true)` pour afficher le succès.
       - Appeler `setIsLoading(false)` pour arrêter le chargement.
       - Utiliser un second `setTimeout` imbriqué pour réinitialiser `isAdded` à `false` après un délai (ex: 2000ms).
   - Sinon (erreur) :
     - Appeler `setIsLoading(false)` immédiatement.

# Anti-Patterns
- Ne pas utiliser la longueur du tableau (`cart.length`) pour vérifier l'ajout, car cela échoue si on met à jour un article existant.
- Ne pas appeler `setIsLoading(false)` en dehors du `setTimeout` de succès, sinon l'animation de chargement n'apparaîtra pas.
- Ne pas appeler `setIsLoading(false)` immédiatement après `setIsAdded(true)` sans délai, sinon l'état de succès sera écrasé.
# Interaction Workflow
1. L'utilisateur clique sur "AJOUT PANIER".
2. L'état passe à `isLoading` (true).
3. Le système traite l'ajout (simulé par le délai).
4. L'état passe à `isAdded` (true) et `isLoading` (false). Le bouton affiche "ARTICLE AJOUTÉ".
5. Après 2 secondes, l'état revient à `isAdded` (false). Le bouton affiche "AJOUT PANIER".

## Triggers

- ajouter au panier react vérification quantité
- gestion état bouton chargement succès react

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.