Svelte vs React: un componente, dos formas

Svelte vs React

Svelte vs React: los mismos componentes escritos en ambos | We.Inc

Compara Svelte 5 y React con el mismo contador, lista, formulario y efecto escritos en cada uno. Mira en qué se diferencian las runes de los hooks y cuál encaja con tu próximo proyecto.

Svelte es un compilador: convierte los archivos .svelte en JavaScript plano, y el estado declarado con la rune $state actualiza la página directamente. React es una librería en la que la función del componente se vuelve a ejecutar con cada cambio de estado y devuelve JSX nuevo. Svelte suele implicar menos código por componente; React aporta el ecosistema más grande y más candidatos para contratar.

Svelte 5 y React de un vistazo

Elige un componente abajo y lee la versión de Svelte 5 junto a la de React. Las dos hacen exactamente lo mismo, así que la diferencia que ves es solo el framework. Cada fragmento está completo y funciona tal cual en un proyecto nuevo.

Preguntas frecuentes

¿Svelte es más rápido que React?

Aquí no damos cifras de velocidad porque los resultados dependen de la app y de la prueba. La diferencia estructural es real: Svelte elimina en la compilación la capa del framework y actualiza solo lo que cambió, mientras que React vuelve a ejecutar los componentes y compara el resultado.

¿Svelte 5 sigue usando let para el estado reactivo?

No por sí solo. En Svelte 4 un let de nivel superior era reactivo por defecto. Svelte 5 lo hace explícito: una variable pasa a ser reactiva cuando la creas con $state.

¿Cuál es el equivalente de Next.js en Svelte?

SvelteKit. La documentación de Svelte lo describe como su framework de aplicaciones complementario, y añade enrutado, renderizado en servidor y carga de datos sobre los componentes de Svelte.

¿Puedo usar librerías de React en Svelte?

No directamente. Los componentes de React necesitan React para renderizarse. Las librerías de JavaScript sin capa de interfaz, como utilidades de fechas o de validación, funcionan en los dos.

¿Cuál debería aprender primero un principiante?

Las plantillas de Svelte se parecen más al HTML normal, así que los primeros pasos son más suaves. React tiene muchos más tutoriales y ofertas de empleo. Si el objetivo es encontrar trabajo, empieza por React.

Runes frente a hooks

Efectos y dependencias

Cuándo encaja cada uno

Empieza un proyecto con cada uno

Comandos para crear el proyecto

El primer comando crea una app de SvelteKit con la herramienta oficial sv; el segundo crea una app de Next.js, el framework de React con más documentación.

Contador

Svelte te deja escribir count++ porque $state hace reactiva la variable. React necesita el setter, y el valor nuevo aparece en el siguiente render.

Lista

Los arrays en $state son proxies reactivos en profundidad, así que push actualiza la página. React trata el estado como de solo lectura: copia el array y pasa la copia al setter.

Formulario

bind:value mantiene sincronizados el input y la variable en ambos sentidos. React usa un input controlado: value sale del estado y onChange lo vuelve a escribir.

Efecto

Svelte deduce que el efecto lee count. React necesita count en el array de dependencias, o el título dejaría de actualizarse.

El mismo componente en Svelte y en React

Elige un componente

Svelte 5 (.svelte)

React (.jsx)

Copiar Svelte

Copiar React

Svelte: {n} líneas, React: {v} líneas

Empieza gratis · Sin tarjeta de crédito

Relacionado: Guías

Producto

Para quién es

Funciones

Recursos

Empresa

Mapa del sitio