Lendo os comentários, percebi que o pessoal ficou meio assustado com essa abordagem, mas para mim faz todo sentido!
Um dos desafios do desenvolvimento web é o fluxo de dados da aplicação.
Bibliotecas como useSWR, React Query e RTK Query tentam nos ajudar nessa questão, trazendo hooks/funções para facilitar a vida.
Dito isso, essa abordagem dos Server Components tenta facilitar isso de uma forma um tanto inédita (tanto que o autor do vídeo explica que ainda está pegando o jeito). Ao aproximar o componente do dado que ele precisa, estamos fazendo algumas coisas:
- Facilitando testes (fácil de mockar a chamada)
- Melhorando a legibilidade do código (sabemos que dado o componente precisa)
- Escrevendo apenas o necessário (escrevo apenas o que o componente precisa, sem mais nem menos).
Na minha visão é uma maneira ainda melhor de separar os Smart Components (componentes que tem lógicas, chamadas de api, etc.) dos Dumb Components (coisas puramente apresentacionais). Pelo exemplo do vídeo, se parecem muito com os Higher Order Components (HOC) que já existem e promovem bastante reutilização de código.
Conclusão: parece promissor!
Obs: para quem se assustou com o SQL no meio do código, imagine apenas uma chamada de um ORM qualquer!
Obs2: imagina não ter o problema de compartilhar as interfaces entre front e back!