Yayaw
Documentation
Référence

Dépannage

Problèmes runtime fréquents et corrections

Dépannage

invalidateQueries ne rafraîchit pas la table

Symptômes

  • La mutation réussit.

  • Vous appelez invalidateQueries.

  • La table affiche toujours des données obsolètes.

Cause racine

Des instances différentes de QueryClient sont utilisées (caches isolés).

Correctif

  1. Assurez-vous d'avoir un QueryClientProvider partagé unique au niveau app.

  2. Invalidez la clé ["tableData", tableId].

  3. Ne passez pas de prop queryClient différente de l'instance du provider.

await queryClient.invalidateQueries({
  queryKey: ["tableData", "products"],
});

La confirmation bulk ne fait rien (copy/delete)

Symptômes

  • L'utilisateur clique sur Copy ou Delete.

  • La boîte de dialogue de confirmation s'ouvre.

  • Cliquer sur Confirm semble ne rien faire.

Cause racine

Une action en attente a été réinitialisée par le comportement de clic externe pendant que le portail de dialogue était ouvert.

Correctif dans la version actuelle

  • Les clics externes sont ignorés tant que la confirmation est ouverte.

  • L'exécution de la confirmation est protégée par verrou et s'exécute une seule fois.

  • Les callbacks bulk doivent retourner un BulkActionResult explicite pour un comportement déterministe (fermeture/sélection).

type BulkActionResult = {
  success: boolean;
  closeMenu: boolean;
  clearSelection: boolean;
  message?: string;
};