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
Assurez-vous d'avoir un
QueryClientProviderpartagé unique au niveau app.Invalidez la clé
["tableData", tableId].Ne passez pas de prop
queryClientdiffé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
CopyouDelete.La boîte de dialogue de confirmation s'ouvre.
Cliquer sur
Confirmsemble 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
BulkActionResultexplicite pour un comportement déterministe (fermeture/sélection).
type BulkActionResult = {
success: boolean;
closeMenu: boolean;
clearSelection: boolean;
message?: string;
};