Svelte vs React: um componente, dois jeitos

Svelte vs React

Svelte vs React: os mesmos componentes escritos nos dois | We.Inc

Compare Svelte 5 e React com o mesmo contador, lista, formulário e effect escritos em cada um. Veja como runes diferem de hooks e qual combina com o seu próximo projeto.

Svelte é um compilador: ele transforma arquivos .svelte em JavaScript simples, e o state declarado com a rune $state atualiza a página diretamente. React é uma biblioteca em que a função do componente roda de novo a cada mudança de state e devolve um novo JSX. Svelte costuma significar menos código por componente; React traz o ecossistema maior e mais profissionais disponíveis para contratar.

Svelte 5 e React em resumo

Escolha um componente abaixo e leia a versão em Svelte 5 ao lado da versão em React. Os dois fazem exatamente a mesma coisa, então a diferença que você vê é só o framework. Cada trecho está completo e roda como está em um projeto novo.

Perguntas frequentes

Svelte é mais rápido que React?

Não citamos números de velocidade aqui porque os resultados dependem do app e do teste. A diferença estrutural é real: o Svelte elimina na compilação a camada do framework e atualiza só o que mudou, enquanto o React roda os componentes de novo e compara o resultado.

O Svelte 5 ainda usa let para state reativo?

Não sozinho. No Svelte 4, um let no nível superior era reativo por padrão. O Svelte 5 deixa isso explícito: uma variável se torna reativa quando você a cria com $state.

Qual é a versão Svelte do Next.js?

SvelteKit. A documentação do Svelte o chama de framework de aplicação complementar, e ele acrescenta roteamento, renderização no servidor e carregamento de dados aos componentes Svelte.

Posso usar bibliotecas React no Svelte?

Não diretamente. Componentes React precisam do React para renderizar. Bibliotecas JavaScript simples sem camada de interface, como utilitários de data ou de validação, funcionam nos dois.

Qual um iniciante deve aprender primeiro?

Os templates do Svelte são mais próximos do HTML simples, então os primeiros passos são mais suaves. O React tem muito mais tutoriais e vagas de emprego. Se o objetivo é conseguir emprego, comece pelo React.

Runes versus hooks

Effects e dependências

Quando cada um se encaixa

Comece um projeto em cada um

Comandos de scaffold

O primeiro comando cria um app SvelteKit com a ferramenta oficial sv; o segundo cria um app Next.js, o framework React com mais documentação.

Contador

O Svelte deixa você escrever count++ porque $state torna a variável reativa. O React precisa do setter, e o novo valor aparece no próximo render.

Lista

Arrays em $state são proxies com reatividade profunda, então push atualiza a página. O React trata o state como somente leitura: copie o array e passe a cópia para o setter.

Formulário

bind:value mantém o input e a variável sincronizados nos dois sentidos. O React usa um input controlado: value vem do state e onChange o grava de volta.

Effect

O Svelte descobre que o effect lê count. O React precisa de count no array de dependências, senão o título pararia de atualizar.

O mesmo componente em Svelte e React

Escolha um componente

Svelte 5 (.svelte)

React (.jsx)

Copiar Svelte

Copiar React

Svelte: {n} linhas, React: {v} linhas

Comece grátis · Sem cartão de crédito

Relacionados: Guias

Produto

Para quem é

Recursos

Recursos

Empresa

Mapa do site