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

196
Visualizações
Ruta dinámica Next.js: no se puede obtener la consulta context.params

Estoy tratando de configurar una página dinámica en Next.js con getStaticPaths(). Lo tengo en un 90%, pero no puedo hacer que la función getStaticProps() haga referencia a la consulta de URL para que cargue la información adecuada.

mi código es:

 //Get Static Paths export async function getStaticPaths() { const paths = await ( await youtube.get("search?") ).data.items.map((video: any) => { const id = video.id.videoId; return { params: { id } }; }); return { paths: paths.map((path: any) => path), fallback: false, }; } //Get Static Props export async function getStaticProps(context: any) { const { query = "" } = context.params.query; const videos = await (await youtube.get("search?")).data.items; const video = videos.find((vid: any) => { return vid.id.videoId === query; }); return { props: { video, }, revalidate: 10, }; }

Estoy recibiendo el error:

 Error: Error serializing `.video` returned from `getStaticProps` in "/media/videos/[id]". Reason: `undefined` cannot be serialized as JSON. Please use `null` or omit this value.

Si reemplazo la variable 'consulta' en la función getStaticProps() con la identificación real del video que estoy tratando de cargar, todo sale bien y la página se carga. Pero entonces esto no es dinámico y no está usando la consulta de URL para que coincida con el video adecuado como yo quiero.

Aquí está el código de trabajo, no dinámico con una identificación escrita manualmente para forzar una coincidencia.

 //Get Static Props export async function getStaticProps(context: any) { // It's important to default the slug so that it doesn't return "undefined" const { query = "" } = context.params; const videos = await (await youtube.get("search?")).data.items; const video = videos.find((vid: any) => { return vid.id.videoId === "_TACZtT1irI"; }); return { props: { video, }, revalidate: 10, }; }

¿Cómo puedo asegurarme de que la variable 'video' está accediendo a la consulta de URL? Debería agarrarlo con context.params, pero eso no funciona, ¿qué estoy haciendo mal?

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

0

Me lo imaginé. esto está funcionando

 //Get Static Props export async function getStaticProps(context: any) { // It's important to default the slug so that it doesn't return "undefined" const { query = "" } = context.params; const videos = await (await youtube.get("search?")).data.items; const video = videos.find((vid: any) => { return vid.id.videoId === context.params.id; }); return { props: { video, }, revalidate: 10, }; }
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