Executando verificação de segurança...
1

Muito obrigado por toda a explicação, consegui entender muito bem e vou tentar colocar em prática todos esses conceitos para aperfeiçoa-los.

Mas ainda tem um ponto que a dúvida persiste...

Vamos imaginar que nós temos que simular um fastrefresh na página, por exemplo: Estamos na pagina de pesquisa de produtos de um e-commerce e digitamos por um produto na barra de busca, nisso a listagem de produtos é atualizada conforme oque foi pesquisado na barra de pesquisa, porém para fazer a atualização da listagem não houve um recarregamento da página, aconteceu como se tivessemos trocado um estado da aplicação utilizando React, nesse caso em especifico, como poderiamos fazer isso utilizando SSR com Next?

Se pegarmos um site por exemplo a Kabum que é feita com Nextjs, se buscarmos por um mouse e depois aplicarmos alguns filtros na pesquisa conseguimos ver que a url muda adicionando alguns parâmetros de filtro e em seguida a listagem dos produtos muda mas não recarrega a página, o comportamento que eu gostaria de simular e entender como funciona seria esse.

Na verdade eu gostaria de entender se em comportamentos como esse nós teriamos que abrir mão do SSR e fazer tudo pelo Client ou se tem alguma forma de simular isso com o SSR?

Em um processo mais simples onde nós poderiamos ter o reload da página eu acredito que poderiamos utilizar o SSR da seguinte forma, sempre que a pesquisa for feita basta chamar a rota de listagem de produtos com os parametros da pesquisa, utilizando a própria Tag ou até mesmo a tag do próprio Next, com isso nós teriamos a página recarregada com o resultado da query que mandamos no parâmetro. Porém, simular o mesmo comportamento que uma simples mudança de estados utilizando o SSR ainda é algo que não consigo entender como fazer.

Carregando publicação patrocinada...
1

Vamos lá! A emulação desse comportamento no Next.js é, na verdade, bastante simples: basta realizar a renderização no cliente utilizando o React.

É importante compreender que há duas abordagens principais de renderização: no lado do cliente (CSR) e no lado do servidor (SSR). Cada uma possui suas vantagens e desvantagens, e podem ser aplicadas de maneira aditiva ou subtrativa. O ideal é combinar essas soluções conforme a necessidade.

Uma das principais vantagens de frameworks como o Next.js é a flexibilidade. Ele oferece suporte nativo tanto para CSR quanto para SSR. Isso permite que os desenvolvedores optem pela abordagem mais adequada para cada cenário, e até mesmo integrem ambas em uma única página.

Esse conceito é conhecido como "Client Hydration". Trata-se do processo pelo qual uma página, inicialmente renderizada no servidor (SSR), é "hidratada" no cliente, transformando-se em uma Single Page Application (SPA). Em resumo, o conteúdo é primeiramente gerado no servidor e enviado ao navegador. Uma vez no navegador, o React "hidrata" essa página, tornando-a dinâmica e interativa, como qualquer outra página desenvolvida exclusivamente com React.