Sveltejs Academy · Lección

Pasar snippets como props

Acepte valores de tipo snippet como props para crear APIs de componentes muy flexibles.

Lección 3 de 413 pasos

Pasar snippets como props es una lección gratuita de Sveltejs Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Sveltejs Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Sveltejs Academy incluye 4 lecciones en total.

Snippet como prop

Los snippets pueden pasarse a componentes hijos como cualquier otro valor.

Definir y pasar

Defínalo directamente en el padre y haga referencia a él por su nombre.

{#snippet item(thing)}<li>{thing.name}</li>{/snippet}
<List itemSnippet={item} items={data} />

Recibir en el hijo

Declare el snippet como un prop tipado.

let { itemSnippet, items } = $props();
{#each items as thing}
  {@render itemSnippet(thing)}
{/each}

Patrón de render props

Esto generaliza el render prop al estilo de React. Los padres controlan cómo se renderizan los hijos.

Personalización

Distintos padres pueden proporcionar snippets diferentes y personalizar por completo el diseño.

Props de snippets tipados

Con TypeScript, tipifique el parámetro del snippet para que los componentes hijos dispongan de autocompletado.

let { itemSnippet }: { itemSnippet: Snippet<[Thing]> } = $props();

Snippets opcionales

Los props de snippets pueden ser opcionales; renderícelo solo cuando se proporcione.

{#if itemSnippet}
  {@render itemSnippet(thing)}
{/if}

Snippet children

El snippet predeterminado se expone como children en $props().

let { children } = $props();
{@render children()}

Potencia de composición

Los props de snippets son la base de las bibliotecas de UI headless y componibles.

Importación de TypeScript

Importe el tipo Snippet desde svelte para obtener un tipado correcto.

import type { Snippet } from "svelte";

Comparación con los slots

Los props de snippets son más flexibles que los slots: aceptan parámetros y pueden renderizarse de forma condicional.

Comprobación rápida

¿Cómo se recibe un snippet como prop?

Resumen

Pase snippets como props para invertir el control: los padres proporcionan la lógica de renderizado y los hijos la invocan mediante @render.

Gratis para empezar

Aprende HTML con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
41
Lecciones
163

Preguntas frecuentes

¿La lección «Pasar snippets como props» es gratis?

Sí — el texto completo de «Pasar snippets como props» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Sveltejs Academy, actualiza a CoddyKit PRO. El curso de Sveltejs Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Pasar snippets como props»?

Acepte valores de tipo snippet como props para crear APIs de componentes muy flexibles. Practicas Sveltejs Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Sveltejs Academy?

No se requiere experiencia previa. Sveltejs Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Pasar snippets como props»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Sveltejs Academy?

Sí. Cada lección de Sveltejs Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. $props() para props tipadas
  2. {#snippet} y {@render}
  3. Pasar snippets como props
  4. Snippets predeterminados y con nombre
← Volver a Sveltejs Academy