diff --git a/apps/svelte.dev/content/docs/kit/30-advanced/25-errors.md b/apps/svelte.dev/content/docs/kit/30-advanced/25-errors.md index e2472b0f9..231ff5b61 100644 --- a/apps/svelte.dev/content/docs/kit/30-advanced/25-errors.md +++ b/apps/svelte.dev/content/docs/kit/30-advanced/25-errors.md @@ -58,8 +58,7 @@ This throws an exception that SvelteKit catches, causing it to set the response You can add extra properties to the error object if needed... ```js -import { error } from '@sveltejs/kit'; - +// @filename: ambient.d.ts declare global { namespace App { interface Error { @@ -68,7 +67,10 @@ declare global { } } } +export {} +// @filename: index.js +import { error } from '@sveltejs/kit'; // ---cut--- error(404, { message: 'Not found', diff --git a/apps/svelte.dev/content/docs/svelte/02-runes/02-$state.md b/apps/svelte.dev/content/docs/svelte/02-runes/02-$state.md index e81e54584..9a45154e9 100644 --- a/apps/svelte.dev/content/docs/svelte/02-runes/02-$state.md +++ b/apps/svelte.dev/content/docs/svelte/02-runes/02-$state.md @@ -57,12 +57,7 @@ Si vous ajoutez un nouvel objet à ce tableau via `.push`, celui-ci sera égalem Proxy : ```js -// @filename: ambient.d.ts -declare global { - const todos: Array<{ done: boolean, text: string }> -} - -// @filename: index.js +let todos = [{ done: false, text: 'add more todos' }]; // ---cut--- todos.push({ done: false, diff --git a/apps/svelte.dev/content/docs/svelte/02-runes/03-$derived.md b/apps/svelte.dev/content/docs/svelte/02-runes/03-$derived.md index 18b53894f..25ad7a21d 100644 --- a/apps/svelte.dev/content/docs/svelte/02-runes/03-$derived.md +++ b/apps/svelte.dev/content/docs/svelte/02-runes/03-$derived.md @@ -59,3 +59,25 @@ sa valeur est lue. Pour exempter un morceau d'état d'être considéré comme une dépendance, utilisez [`untrack`](svelte#untrack). + +## Propagation de la mise à jour [!VO]Update propagation + +Svelte utilise un concept appelée _réactivité push-pull_ — lorsque l'état est mis à jour, tout ce +qui dépend de l'état (directement ou non) est immédiatement notifié du changement (le 'push'), mais +les valeurs dérivées ne sont pas ré-évaluées tant qu'elles ne sont lues (le 'pull'). + +Si la nouvelle valeur d'un état dérivé est identique en termes de référence que la valeur +précédente, les mises à jour en aval seront ignorées. Autrement dit, Svelte ne mettra à jour le +texte au sein du bouton que lorsque `large` change, pas lorsque `count` change, même si `large` +dépend de `count` : + +```svelte + + + +``` diff --git a/apps/svelte.dev/content/docs/svelte/03-template-syntax/12-use.md b/apps/svelte.dev/content/docs/svelte/03-template-syntax/12-use.md index b38f29478..b85f1b409 100644 --- a/apps/svelte.dev/content/docs/svelte/03-template-syntax/12-use.md +++ b/apps/svelte.dev/content/docs/svelte/03-template-syntax/12-use.md @@ -58,17 +58,16 @@ gestionnaire d'évènement personnalisé créé par l'action : ```svelte