Jamdesk Documentation logo

Snippet

Blocchi di contenuto riutilizzabili che puoi importare in più pagine. Conserva testo, componenti o codice comuni nella directory snippets.

I snippet sono blocchi di contenuto riutilizzabili memorizzati in una directory /snippets. Importali in qualsiasi pagina MDX per evitare di duplicare il contenuto.

Creazione dei frammenti

Crea una directory /snippets nella radice della documentazione:

my-docs/
├── docs.json
├── introduction.mdx
└── snippets/
    ├── prerequisites.mdx
    ├── installation.mdx
    └── support-cta.mdx

Scrivi il contenuto dello snippet come qualsiasi file MDX, ma senza frontmatter:

snippets/prerequisites.mdx
Before you begin, make sure you have:

- Node.js 20 or higher
- A GitHub account
- A text editor (VS Code recommended)

Utilizzo dei frammenti

Importa e usa gli snippet nelle tue pagine:

getting-started.mdx
---
title: Getting Started
---

## Prerequisites

import Prerequisites from '/snippets/prerequisites.mdx';

<Prerequisites />

## Installation

Continue with your page content...

Componenti dei frammenti

Gli snippet possono contenere componenti Jamdesk:

snippets/support-cta.mdx
<Columns cols={2}>
  <Card title="Documentation" icon="book" href="/docs">

    Browse our guides

</Card>
  <Card title="Contact Support" icon="headset" href="/support">

    Get help from our team

</Card>
</Columns>

Usalo in qualsiasi pagina:

import SupportCTA from '/snippets/support-cta.mdx';

## Need Help?

<SupportCTA />

Frammenti interattivi

Usa file .tsx con la direttiva 'use client' per gli snippet che richiedono hook di React (useState, useEffect, ecc.):

snippets/counter.tsx
'use client';

import { useState } from 'react';

export function Counter() {
  const [count, setCount] = useState(0);
  return (
    <button onClick={() => setCount(c => c + 1)}>
      Count: {count}
    </button>
  );
}

Importa in MDX:

import { Counter } from '/snippets/counter';

<Counter />

La direttiva 'use client' è obbligatoria per qualsiasi componente che usa hook di React. Se la ometti, si verificano errori "useState is not defined".

Frammenti parametrizzati

Passa props per rendere dinamici gli snippet:

snippets/api-key-warning.mdx
export const ApiKeyWarning = ({ service }) => (
  <Warning>

    Never commit your {service} API key to version control. Use environment variables instead.

</Warning>
);

Usalo con props:

import { ApiKeyWarning } from '/snippets/api-key-warning.mdx';

<ApiKeyWarning service="Stripe" />

Organizzazione dei frammenti

Nei progetti più grandi, organizza gli snippet in sottodirectory:

snippets/
├── components/
│   ├── cta-cards.mdx
│   └── feature-table.mdx
├── warnings/
│   ├── api-key.mdx
│   └── deprecation.mdx
└── shared/
    ├── prerequisites.mdx
    └── support-links.mdx

Importa con il percorso completo:

import CtaCards from '/snippets/components/cta-cards.mdx';
import ApiKeyWarning from '/snippets/warnings/api-key.mdx';

Casi d'uso comuni

Caso d'usoEsempio
PrerequisitiRequisiti di sistema, configurazione account
Passaggi di installazioneComandi di installazione CLI per piattaforma
Autenticazione APIConfigurazione auth ripetuta in più endpoint
CTA di supportoLink di contatto alla fine delle pagine di risoluzione problemi
Avvisi di deprecazioneAvvisi per funzionalità obsolete
Esempi di codicePattern di codice riutilizzabili

Frammento o componente inline

FunzionalitàSnippetComponente inline
Riutilizzabile tra pagineSìNo (specifico della pagina)
Può usare hook di ReactSì (con 'use client')No
Può importare pacchetti esterniSì (file .tsx)No
SintassiIstruzione importexport const in MDX

Usa gli snippet per contenuti che appaiono in più pagine. Usa i componenti inline per componenti di presentazione una tantum su una singola pagina.

Qual è il prossimo passo?

Componenti React personalizzati

Definisci componenti inline in MDX

Nozioni base MDX

Scopri i fondamentali di MDX