1
resposta

[Dúvida] Dúvida em relação ao getServerSideProps

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Professor, uma dúvida em relação a essa constante, tentei dar um console log nela, mas deu erro. Eu entendi que a função withSession é uma função que chama um serviço que retorna o token, e retorno a sessão do usuário.

Mas porque ao dar um console.log nela eu não consegui ver o que tem dentro? Porque esse nome? É como se eu tivesse alterando o getServerSideProps do Next ou é uma const com nome qualquer e você só deu o mesmo nome? Onde você está usando essa variável variável getServerSideProps? Tem a declaração dela mas em nenhum lugar ela está sendo chamada.

Posso dizer que o que está dentro do props do AuthPageSSR é tudo que está dentro do getServerSide?

1 resposta

Olá Lina, tudo bem contigo?

Vamos esclarecer suas dúvidas uma a uma:

  1. Por que você não conseguiu ver o conteúdo da constante withSession ao usar console.log nela?

    • O motivo provável é que withSession é uma função que retorna outra função, e ao executar console.log(withSession), você está exibindo a definição da função externa, não o resultado da execução dessa função. Para ver o resultado, você precisaria executar a função withSession. No código fornecido, a função withSession é invocada passando ctx como argumento.
  2. Por que o nome getserverSideProps é usado novamente para a constante dentro da função withSession?

    • O nome getserverSideProps usado dentro da função withSession é apenas uma coincidência de nome. Poderia ter sido qualquer outro nome, mas para manter a consistência, o mesmo nome foi escolhido. Essa constante dentro de withSession é uma nova variável local e não tem relação direta com a função getServerSideProps do Next.js. Portanto, alterar essa constante não afeta a função getServerSideProps original.
  3. Onde a variável getserverSideProps está sendo usada?

    • A variável getserverSideProps está sendo usada como argumento para a função withSession. Isso significa que a função withSession está decorando (ou envolvendo) a função getserverSideProps com alguma lógica adicional. O objetivo provável é adicionar informações sobre a sessão do usuário no objeto props retornado pela função getserverSideProps.
  4. Posso dizer que o que está dentro de props na função AuthPageSSR é tudo que está dentro de getserverSideProps?

    • Sim, você está correto. No código fornecido, a função getserverSideProps retorna um objeto com uma propriedade props, que contém o valor session obtido de ctx.req.session. Portanto, dentro da função AuthPageSSR, a variável props terá essa mesma estrutura, com a propriedade session que contém o valor da sessão do usuário.

Em suma seria isso, espero ter explicado tudo direitinho.

Caso precise estarei aqui, abraços e bons estudos.