## Demo: prop-dedup ### PropDedup.svelte ```svelte

Each group below renders the same component three times with the same props. In the SSR: you'll find three <script type="application/json"> blocks (one per group) and nine <mochi-hydratable-island props-ref="…"> tags pointing at them. Each shared block carries a data-shared marker; a lone island (like the source code viewer on this page) still gets its own block, just without that marker.

{#each groups as group (group.heading)}

{group.heading}

{/each}
``` ### SharedPropsCard.svelte ```svelte
{label}
``` ### routes.ts ```ts import { Mochi } from 'mochi-framework'; import type { MochiRouteValue } from 'mochi-framework'; export const routes: Record = { '/demos/prop-dedup': Mochi.page('./src/demos/prop-dedup/PropDedup.svelte'), }; ``` ### index.ts ```ts import { Mochi, logger } from 'mochi-framework'; await Mochi.serve({ port: 3333, development: process.env.MODE === 'development', routes: { '/': Mochi.page('./src/Home.svelte'), }, }); logger.info('Server running at http://localhost:3333'); ```