Um tanto irritado com React
A evolução do React de uma biblioteca simples de UI no lado do cliente para um ecossistema dominado por hooks, server components e frameworks como Next.js está deixando muitos desenvolvedores frustrados com a complexidade crescente e modelos mentais opacos. Os comentaristas destacam pontos de dor como o uso excessivo de `useEffect`, a descontinuação do Create React App e o impulso para configurações baseadas em Node e mais voltadas ao servidor, argumentando que isso torna os aplicativos web modernos mais lentos, mais difíceis de raciocinar e menos prazerosos de construir. Alguns ainda elogiam o ecossistema e a flexibilidade do React, mas muitos estão migrando para alternativas como Svelte, Solid, Vue, Preact ou até mesmo padrões web puros para front ends mais simples e determinísticos.
React no lado do cliente vs Server Components / Next.js
- Muitos sentem que o React “se dividiu em dois”: o React clássico no lado do cliente vs. o novo mundo de server components/Next.js.
- Vários sentem falta de conseguir publicar um app React simples via CDN sem Node ou uma framework completa.
- Server Components e SSR são vistos por alguns como extrapolação ou aumento de escopo; outros os veem como o futuro oficial, especialmente via Next.js.
- Alguns suspeitam que os server components sirvam principalmente aos interesses de provedores de hospedagem (mais computação no servidor, lock-in de fornecedor) em vez de benefícios claros no nível da aplicação.
Debate sobre Hooks e useEffect
- Hooks polarizam: alguns os chamam de uma das melhores ideias em frameworks de componentes; outros os veem como um novo paradigma confuso, diferente de FP ou OOP.
- Reclamações recorrentes sobre
useEffectgerando complexidade, condições de corrida e “spaghetti” quando é usado em excesso ou para busca de dados e orquestração de estado. - Outros argumentam que
useEffectdeve ser raro, usado בעיקרamente para sistemas externos/APIs do DOM, com dados tratados por bibliotecas (React Query, SWR, etc.). - Há discordância até sobre o que o próprio React ensina: a documentação mostra
useEffectpara buscar dados e, ao mesmo tempo, adverte contra seu uso.
Complexidade, DX e alternativas
- Vários comentaristas dizem que apps modernos em React são mais difíceis de raciocinar do que stacks antigas (Backbone, jQuery simples, PHP, Facebook inicial).
- Outros contrapõem que UIs complexas sempre serão complexas, e que React continua sendo um bom meio-termo.
- Alternativas elogiadas: Solid, Svelte, Vue, HTMX, Preact, Lit, Web Components puros, às vezes com Vite; muitos dizem que elas parecem mais com o “React antigo” ou com modelos mentais mais simples.
Gerenciamento de estado e arquitetura
- Críticas de que o React incentiva a colocalização de lógica de negócio, busca de dados e visualização em componentes enormes.
- Alguns defendem separação estrita via Redux/MobX ou “serviços” externos, usando componentes como puro
state → UI. - Outros observam que Redux/MobX também podem ser mal usados; equipes grandes e pressão de tempo muitas vezes levam à degradação da arquitetura independentemente do framework.
Mudanças em ferramentas e comunicação
- O Create React App é amplamente percebido como efetivamente descontinuado, sem substituto claro na narrativa oficial.
- Next.js é visto como o caminho abençoado de facto, o que irrita quem não está construindo apps baseados em Node.
- Vite + bibliotecas mais leves (Preact, etc.) são comumente citados como um “CRA não oficial” prático e moderno.
- Vários criticam a comunicação do React como inconsistente ou opaca, contribuindo para confusão e frustração.