2026-02-22//LOG
React Server Components: Realmente Bom ou Sindrome de Estocolmo?
To usando React Server Components faz uns meses. O blog roda em Next.js App Router. Uns componentes na Yooga tao migrando pra RSC. Tenho opiniao e ela eh COMPLICADA.
A mudanca de modelo mental eh real e eh BRUTAL. Por anos React era biblioteca client-side. Tudo renderizava no browser. Data fetching era problema do client. Ai vem o RSC e fala "na real, uns componentes seus rodam no servidor e NUNCA mandam JavaScript pro client." Conceito dahora. Curva de aprendizado terrivel.
A fronteira do "use client" eh onde mora a dor. Tu ta escrevendo um componente de boa ate precisar de useState ou useEffect ou qualquer hook que implique interatividade. Ai tu precisa quebrar teu componente numa parte server e uma parte client, conectadas pela diretiva "use client." Na teoria nao eh dificil. Na pratica, tu acaba com uma estrutura de arquivo que parece que alguem jogou uma granada na pasta de componentes. ServerWrapper importa ClientButton que recebe dado do ServerDataFetcher que eh filho do ClientLayout. O grafo de dependencia vira um jogo de amarelinha entre server e client. PQP.
As partes BOAS porem. Sao genuinamente boas. Zero JavaScript pra componente puramente de apresentacao significa que tua pagina de blog manda basicamente zero JS. A historia de data fetching eh LIMPA. Tu so faz async/await no componente. Sem useEffect, sem loading state pra dado inicial, sem race condition. O componente roda no servidor, busca dado, renderiza HTML, manda pro client. Pronto. Era assim que sempre deveria ter sido pra pagina pesada em leitura.
Streaming eh a killer feature que ninguem fala o suficiente. Com Suspense boundary, tua pagina comeca a renderizar na hora e vai preenchendo as secoes mais lentas conforme resolvem. O usuario ve conteudo RAPIDO mesmo se algum dado leva 2 segundos pra buscar. Nao eh tecnologia nova mas RSC torna trivial de implementar. Envolve componente lento em Suspense, bota fallback, pronto.
Os problemas de DX sao reais. Mensagem de erro criptica demais. "Voce esta importando um componente que precisa de useState. So funciona em Client Component mas nenhum dos pais esta marcado com use client." Valeu, obrigado. Agora preciso reestruturar tres arquivos porque coloquei um hover effect. TypeScript ta melhorando mas ainda tem aresta nos async server components. E o overhead mental de ficar o tempo todo pensando "isso eh server ou client?" bota friccao em cada decisao.
Meu veredito depois de uns meses: RSC eh a direcao certa. A execucao ainda ta tosca. Se tu ta buildando site com muito conteudo e ilhas de interatividade, RSC eh OTIMO agora. Se ta buildando dashboard super interativo, o gerenciamento constante de fronteira server/client vai te fazer questionar tuas escolhas de carreira.
Nao tenho Sindrome de Estocolmo. Acho. Mas eu tambem disse isso sobre Redux em 2019, entao leva com o ceticismo adequado.