diff --git a/src/content/docs/fr/guides/actions.mdx b/src/content/docs/fr/guides/actions.mdx index 731476fc3bb08..68548dea37b8b 100644 --- a/src/content/docs/fr/guides/actions.mdx +++ b/src/content/docs/fr/guides/actions.mdx @@ -168,6 +168,10 @@ Désormais, toutes vos actions utilisateur peuvent être appelées à partir de Les actions renvoient un objet contenant soit `data` qui contient la valeur de retour de votre fonction `handler()` avec sûreté du typage, soit `error` qui contient les erreurs du backend. Ces dernières peuvent provenir d'erreurs de validation sur la propriété `input` ou d'erreurs générées dans la fonction `handler()`. +Les actions renvoient un format de données personnalisé qui peut gérer les Dates, les Maps, les Sets et les URL [à l'aide de la bibliothèque Devalue](https://github.com/Rich-Harris/devalue). Par conséquent, vous ne pouvez pas facilement inspecter la réponse du réseau comme vous le pouvez avec du JSON classique. Pour le débogage, vous pouvez plutôt inspecter l'objet `data` renvoyé par les actions. + +[Consultez la référence de l'API `handler()`](/fr/reference/modules/astro-actions/#propriété-handler) pour plus de détails. + ### Vérification des erreurs Il est préférable de vérifier si une erreur (`error`) est présente avant d'utiliser la propriété `data`. Cela vous permet à la fois de gérer les erreurs à l'avance et d'être certain que `data` est définie sans vérification additionnelle pour `undefined`. @@ -398,7 +402,7 @@ if (isInputError(error)) { ## Appeler des actions depuis une action de formulaire HTML :::note -Les pages doivent être rendues à la demande lors de l'appel d'actions à l'aide d'une action de formulaire. [Assurez-vous que le prérendu est désactivé sur la page](/fr/guides/on-demand-rendering/) avant d'utiliser cette API. +Les pages doivent être rendues à la demande lors de l'appel d'actions à l'aide d'une action de formulaire. [Assurez-vous que le prérendu est désactivé sur la page](/fr/guides/on-demand-rendering/#enabling-on-demand-rendering) avant d'utiliser cette API. ::: Vous pouvez activer les soumissions de formulaires zéro-JS avec des attributs standard sur n'importe quel élément `
`. Les soumissions de formulaires sans JavaScript côté client peuvent être utiles à la fois comme solution de secours en cas d'échec du chargement de JavaScript ou si vous préférez gérer les formulaires entièrement à partir du serveur. @@ -421,24 +425,7 @@ import { actions } from 'astro:actions'; ### Redirection en cas de réussite de l'action -Pour accéder à une page différente lorsqu'une action réussit sans JavaScript côté client, vous pouvez ajouter un chemin dans l'attribut `action`. - -Par exemple, `action={'/confirmation' + actions.newsletter}` naviguera vers `/confirmation` lorsque l'action `newsletter` réussit : - -```astro title="src/components/NewsletterSignup.astro" /action=\{[^\{\}]+\}/ ---- -import { actions } from 'astro:actions'; ---- - - - - -
-``` - -#### Redirection dynamique en cas de réussite de l'action - -Si vous devez décider vers où rediriger de manière dynamique, vous pouvez utiliser le résultat d'une action sur le serveur. Un exemple courant est la création d'un enregistrement de produit et la redirection vers la page du nouveau produit, par exemple `/products/[id]`. +Si vous devez rediriger vers une nouvelle route en cas de succès, vous pouvez utiliser le résultat d'une action sur le serveur. Un exemple courant est la création d'un enregistrement de produit et la redirection vers la page du nouveau produit, par exemple `/products/[id]`. Par exemple, supposons que vous ayez une action `createProduct` qui renvoie l'identifiant du produit généré : @@ -479,7 +466,7 @@ if (result && !result.error) { ### Gérer les erreurs d'action du formulaire -Astro ne redirige pas vers votre route `action` lorsqu'une action échoue. Au lieu de cela, la page actuelle est rechargée avec toutes les erreurs renvoyées par l'action. L'appel de `Astro.getActionResult()` dans le composant Astro contenant votre formulaire vous donne accès à l'objet `error` pour une gestion personnalisée des erreurs. +L'appel de `Astro.getActionResult()` dans le composant Astro contenant votre formulaire vous donne accès aux objets `data` et `error` pour la gestion personnalisée des erreurs. L'exemple suivant affiche un message d'échec général lorsqu'une action `newsletter` échoue : @@ -493,7 +480,7 @@ const result = Astro.getActionResult(actions.newsletter); {result?.error && (

Impossible de s'inscrire. Veuillez réessayer ultérieurement.

)} -
+