0Pricing
Sveltejs Academy · Lezione

Componenti higher-order

Avvolga i componenti per aggiungere comportamento o dati senza modificare l'originale.

Componenti higher-order è una lezione Sveltejs Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Sveltejs Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Sveltejs Academy include 4 lezioni in totale.

Definizione degli HOC

Un componente di ordine superiore avvolge un altro componente per aggiungere comportamento o dati.

In Svelte

Può scrivere un componente wrapper che importa un componente di base e aggiunge funzionalità (registrazione, autenticazione, tematizzazione).

<!-- WithAuth.svelte -->
{#if user}
  <slot />
{:else}
  <a href="/login">Login</a>
{/if}

Utilizzo

Avvolga le pagine che richiedono autenticazione.

<WithAuth>
  <Dashboard />
</WithAuth>

Aggiungere comportamenti

Un HOC può associare gestori di eventi, osservare lo scorrimento o iniettare stili attorno ai propri figli.

Confronto con la composizione

Gli HOC sono un pattern; la composizione con slot e snippet è spesso più semplice.

Quando utilizzare gli HOC

Per gli aspetti trasversali che devono avvolgere molti componenti in modo coerente.

HOC provider del contesto

Un HOC che chiama setContext è un modo chiaro per limitare le dipendenze a un sottoalbero.

Inoltro delle props

Utilizzi $$restProps o rest da $props() per trasferire props arbitrarie.

Prestazioni

I wrapper aggiungono un livello di componenti; di solito non è un problema, ma presti attenzione nelle interfacce altamente annidate.

Test

Gli HOC sono facili da testare montando il wrapper con diversi input.

Alternativa: store personalizzati

A volte uno store personalizzato e un piccolo componente sono più chiari di un HOC.

Verifica rapida

Che cosa fa un HOC?

Riepilogo

Gli HOC avvolgono i componenti per aggiungere funzionalità trasversali. Sono utili per autenticazione, tematizzazione e logging in molte pagine.

Domande Frequenti

La lezione «Componenti higher-order» è gratuita?

Sì — il testo completo di «Componenti higher-order» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Sveltejs Academy, passa a CoddyKit PRO. Il corso Sveltejs Academy include 4 lezioni in totale.

Cosa imparerò in «Componenti higher-order»?

Avvolga i componenti per aggiungere comportamento o dati senza modificare l'originale. Eserciti Sveltejs Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Sveltejs Academy?

Non è richiesta alcuna esperienza precedente. Sveltejs Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Componenti higher-order»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Sveltejs Academy?

Sì. Ogni lezione Sveltejs Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Render props con gli snippet
  2. Componenti higher-order
  3. Il pattern Builder per Headless UI
  4. Componenti composti con Context
← Torna a Sveltejs Academy