Back

O Que Há de Novo no Preact para 2026?

O Que Há de Novo no Preact para 2026?

Se você está avaliando o Preact para um projeto de produção em 2026, o cenário mudou. Entre uma correção crítica de segurança, o beta do Preact 11 e mudanças significativas no ecossistema, há informações práticas que você precisa conhecer antes de tomar decisões.

Pontos-Chave

  • Aplique imediatamente a correção de segurança de janeiro de 2026 em todos os projetos Preact 10.x para prevenir injeção insegura de VNode e possíveis problemas de XSS.
  • O beta do Preact 11 introduz Hydration 2.0 e Object.is para dependências de hooks, mas ainda não está pronto para produção.
  • Use Vite em vez de preact-cli para novos projetos, e escolha preact-iso em vez de preact-router para roteamento.
  • A camada preact/compat funciona para a maioria das bibliotecas React, mas ainda não suporta recursos do React 19 como o hook use().

A Correção de Segurança de Janeiro de 2026

Em janeiro de 2026, o Preact lançou uma correção de segurança abordando uma vulnerabilidade de igualdade estrita no construtor VNode (corrigida nas versões 10.26.10 / 10.27.3 / 10.28.2 no GitHub). Esta mudança garante que apenas instâncias reais de VNode criadas pelo Preact sejam aceitas internamente.

Anteriormente, objetos simples especialmente construídos (por exemplo, de entrada JSON) poderiam ser confundidos com VNodes, potencialmente permitindo injeção insegura de DOM e vetores de ataque estilo XSS em casos extremos. Se você está executando Preact 10.x, atualize imediatamente—a correção é retrocompatível e não requer mudanças no código.

Beta do Preact 11: O Que Está Realmente Mudando

O beta do Preact 11 introduz atualizações significativas, embora ainda não esteja estável. Não planeje migrações de produção baseadas nele até que uma versão final seja lançada.

Hydration 2.0

A mudança mais significativa é o Hydration 2.0. Anteriormente, componentes em suspensão durante a hidratação tinham que retornar exatamente um nó DOM. O Preact 11 remove esta restrição—componentes agora podem retornar zero ou múltiplos nós:

function LazyAnalytics() {
  // Válido no Preact 11: retorna null
  return null
}

function MultipleElements() {
  // Válido no Preact 11: retorna fragment com múltiplos filhos
  return (
    <>
      <p>First</p>
      <p>Second</p>
    </>
  )
}

Isso permite padrões SSR mais flexíveis e simplifica o design de componentes para limites assíncronos.

Igualdade de Dependências de Hooks

O Preact 11 muda as verificações de dependências de hooks de igualdade flexível para Object.is. Isso corrige casos extremos com comparações de NaN em useEffect, useMemo e useCallback. Se você trabalhou com soluções alternativas para o tratamento de NaN antes, essas soluções se tornam desnecessárias.

Melhorias no Tratamento de Refs

O Preact 11 melhora como as refs são tratadas para componentes de função, reduzindo a necessidade de forwardRef explícito em muitos cenários e alinhando-se mais estreitamente com o comportamento moderno do React. A superfície exata da API ainda está evoluindo no beta, então autores de bibliotecas devem tratar isso como provisório até a versão estável.

Mudanças Incompatíveis a Observar

  • O suporte a navegadores legados (incluindo IE11) foi completamente removido.
  • Alguns comportamentos legados como o tratamento de defaultProps e sufixação automática de px agora estão confinados ao preact/compat.

Ferramentas Preact 2026: Mudanças no Ecossistema

A história das ferramentas mudou substancialmente. Compreender essas mudanças evita que você construa sobre fundações obsoletas.

Vite Substitui preact-cli

O preact-cli não é mais a ferramenta de scaffolding recomendada e está amplamente sem manutenção. Novos projetos devem usar Vite com o preset do Preact. O Vite oferece builds mais rápidos, melhor HMR e manutenção ativa.

preact-iso em Vez de preact-router

O preact-router estagnou. Para novas aplicações, preact-iso é a solução de roteamento recomendada. É mais leve, ativamente mantido e projetado para padrões modernos do Preact.

Signals: Gerenciamento de Estado Opcional

Preact Signals fornece gerenciamento de estado reativo como uma biblioteca oficial. Não faz parte do núcleo do Preact—você opta explicitamente por usá-lo. Signals funciona bem para reatividade refinada, mas não é necessário para aplicações típicas.

Compatibilidade Preact vs React em 2026

A camada preact/compat fornece boa cobertura para executar bibliotecas React, mas lacunas permanecem. Recursos do React 19 como o hook use() ainda não são suportados. Se seu projeto depende de APIs React de ponta, verifique a compatibilidade antes de se comprometer.

Para a maioria das bibliotecas React—roteamento, gerenciamento de estado, componentes de UI—preact/compat funciona de forma confiável. O beta do Preact 11 melhora isso ainda mais ao apertar a compatibilidade comportamental em áreas como tratamento de refs.

Quando o Preact Faz Sentido

O Preact permanece atraente para ambientes com restrições de tamanho de bundle. A atualização da API 2025-10 da Shopify exige Preact para extensões de UI com um limite estrito de 64 KB. Restrições similares existem em widgets incorporados, PWAs e landing pages críticas em desempenho.

Se o tamanho do bundle não é uma preocupação primária e você precisa de compatibilidade completa com React 19, o próprio React pode ser mais simples.

Recomendações Práticas

Para atualizações do Preact 2026, aqui está o que fazer agora:

  1. Aplique a correção de segurança de janeiro de 2026 em todos os projetos Preact 10.x
  2. Use Vite para scaffolding de novos projetos
  3. Escolha preact-iso para roteamento em novas aplicações
  4. Aguarde o Preact 11 para produção—monitore o beta mas não migre ainda
  5. Teste preact/compat contra suas dependências React específicas antes de se comprometer

Conclusão

O Preact permanece uma escolha sólida para trabalho de produção sensível ao tamanho. O ecossistema está amadurecendo com recomendações de ferramentas mais claras e compatibilidade melhorada com React. Aplique a correção de segurança imediatamente, adote Vite e preact-iso para novos projetos, e monitore o beta do Preact 11 sem pressa para migrar. Com as informações atuais, você pode evitar ferramentas obsoletas e compreender os limites reais de compatibilidade.

Perguntas Frequentes

Sim, você pode migrar projetos preact-cli existentes para Vite. Crie um novo projeto Vite com o preset do Preact, copie seus arquivos fonte e atualize seus scripts de build. A maioria das configurações se traduz diretamente, embora você possa precisar ajustar aliases de caminho e tratamento de variáveis de ambiente para corresponder às convenções do Vite.

Não, o Preact Signals é totalmente opcional. Você pode continuar usando useState, useReducer ou bibliotecas externas de gerenciamento de estado como Zustand ou Redux. Signals oferece benefícios de reatividade refinada, mas adiciona complexidade. Avalie se sua aplicação precisa desse nível de otimização antes de adotá-los.

Teste a biblioteca em um ambiente de desenvolvimento antes de se comprometer. Instale a biblioteca, configure seu bundler para criar um alias de react para preact/compat e verifique se a funcionalidade principal funciona. Verifique as issues do GitHub da biblioteca para problemas conhecidos de compatibilidade com Preact. Bibliotecas usando APIs específicas do React 19 como use() não funcionarão.

Inicie novos projetos com Preact 10.x e a correção de segurança de janeiro de 2026. O beta do Preact 11 não está pronto para produção, e a migração de 10.x para 11 deve ser direta uma vez estável. Construir sobre ferramentas comprovadas agora evita atrasos enquanto ainda o posiciona para uma atualização fácil mais tarde.

Gain Debugging Superpowers

Unleash the power of session replay to reproduce bugs, track slowdowns and uncover frustrations in your app. Get complete visibility into your frontend with OpenReplay — the most advanced open-source session replay tool for developers. Check our GitHub repo and join the thousands of developers in our community.

OpenReplay