Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

106
Visualizações
Cómo combinar varias funciones getServerSideProps

Tengo dos páginas; index.js y other.js, en index.js tengo un método getServerSideProps ;

 export async function getServerSideProps(context) { //code here }

Quiero usar esta misma función en la página other.js. Debido a que el código en index.js getServerSideProps es bastante largo, tuve que importar getServerSideProps en index.js a other.js, haciendo algo como;

 import { getServerSideProps } from "./index"; ... export { getServerSideProps };

Funciona bien, pero el problema es que quiero hacer otra solicitud en getServerSideProps que solo se ejecuta en la página other.js. Una forma de hacerlo es copiar el código getServerSideProps que escribí para index.js y pegarlo en other.js y modificar el código. El problema es que, como mencioné anteriormente, el código es bastante grande en getServerSideProps y no quiero copiarlo y pegarlo en todas las páginas que lo necesito.

Mi pregunta es, ¿cómo agrego otro getServerSideProps al que ya exporté de otra página? Básicamente, quiero fusionar los getServerSideProps exportados en index.js con los getServerSideProps que tengo localmente en other.js

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Si desea volver a utilizar la misma función getServerSideProps , pero ejecutar condicionalmente un código específico en función de la página desde la que se llama, puede intentar utilizar el objeto context.req :

index.js

 export default function Home({ data }) { return <>{data}</>; } export async function getServerSideProps(context) { let foo; // Parse `message.url` into parts. An alternative to using the `URL` class // would be to use `context.resolvedUrl`, but that will take more effort to // isolate pathnames when query parameters are involved. const reqUrl = new URL( context.req.url, `https://${context.req.headers.host}` ); const thisPage = reqUrl.pathname; const queryParams = reqUrl.searchParams; switch (thisPage) { case "/": // code for index.js foo = "Hello, index.js!"; break; case "/other": // code for other.js foo = "Hello, other.js!"; break; default: foo = "Hello, world!"; } // common code console.log("`thisPage`:", thisPage); console.log("`context.resolvedUrl`:", context.resolvedUrl); console.log("`queryParams`:", queryParams); return { props: { data: foo }, }; }

other.js

 import { getServerSideProps } from "./index"; export default function Other({ data }) { return <>{data}</>; } export { getServerSideProps };
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda