Skip to content

Commit

Permalink
i18n(fr): Update reference/modules/astro-actions from #10447 (#10472)
Browse files Browse the repository at this point in the history
Signed-off-by: Thomas Bonnet <[email protected]>
  • Loading branch information
thomasbnt authored Dec 20, 2024
1 parent 671e4e3 commit 187006a
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions src/content/docs/fr/reference/modules/astro-actions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -301,3 +301,46 @@ export const onRequest = defineMiddleware(async (context, next) => {
</p>

`deserializeActionResult()` inversera l'effet de `serializeActionResult()` et renverra le résultat d'une action à son état d'origine. Ceci est utile pour accéder aux objets `data` et `error` sur un résultat d'action sérialisé.

### `getActionPath()`

<p>

**Type :** `(action: ActionClient<any, any, any>) => string`
<Since v="5.1.0" />
</p>

L'utilitaire `getActionPath()` accepte une action et renvoie un chemin d'URL afin que vous puissiez exécuter un appel d'action comme une opération `fetch()` directement. Cela vous permet de fournir des détails tels que des en-têtes personnalisés lorsque vous appelez votre action. Ensuite, vous pouvez [gérer les données retournées au format personnalisé](/fr/guides/actions/#gestion-des-données-renvoyées) selon vos besoins, comme si vous aviez appelé une action directement.

Cet exemple montre comment appeler une action `like` définie en passant l'en-tête `Authorization` et l'option [`keepalive`](https://developer.mozilla.org/en-US/docs/Web/API/Request/keepalive) :

```astro title="src/components/my-component.astro" {8,11}
<script>
import { actions, getActionPath } from 'astro:actions'
await fetch(getActionPath(actions.like), {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer YOUR_TOKEN'
},
body: JSON.stringify({ id: 'YOUR_ID' }),
keepalive: true
})
</script>
```

Cet exemple montre comment appeler la même action `like` en utilisant l'API [`sendBeacon`](https://developer.mozilla.org/fr/docs/Web/API/Navigator/sendBeacon) :

```astro title="src/components/my-component.astro" {5} "sendBeacon"
<script>
import { actions, getActionPath } from 'astro:actions'
navigator.sendBeacon(
getActionPath(actions.like),
new Blob([JSON.stringify({ id: 'YOUR_ID' })], {
type: 'application/json'
})
)
</script>
```

0 comments on commit 187006a

Please sign in to comment.