Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

144
Views
El próximo enrutador dinámico js falla

La siguiente es mi estructura de carpetas en el siguiente js

 /pages |_/index.js |_/programs |_/[program_id].js |_/index.js

Ambas páginas tienen getStaticProps que hacen una API de búsqueda para pasar props a la página; También /[program_id].js tiene getStaticPaths que proporciona 3 rutas,

Pregunta:

Cuando cargo https://www.domain/programs , se procesa. /programs/index.js , desde allí hago clic en <Link href="/programs/P01"> muestra la página /programs/[program_id].js ;

Pero a partir de ahí, cuando hago clic en <Link href="/programs"> , getStaticProps de /programs/index.js pero en el lado del cliente llama a la función de representación de /programs/[program_id].js donde router.query.program_id no está undefined

¿No estoy seguro de por qué ocurre esto? esperaba que llamara al render para /programs/index.js

/programas/index.js
 export async function getStaticProps() { const programs = await fetchProgramsList(); //Fetch API return { props: { programs: programs.data, }, }; }
/programas/[id_programa].js
 export async function getStaticPaths() { return { paths: [ { params: { program_id: "P01" } }, { params: { program_id: "P02" } }, { params: { program_id: "P03" } }, ], fallback: false, }; } export async function getStaticProps({ params }) { const programData = await fetchProgramDetails(params.program_id); //Fetch API return { props: { programData: programData.data, }, };
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

La opción de usar solo /programs/[program_id].js no es válida porque las rutas dinámicas (incluidas las rutas catch-all) no tienen un estado undefined . Así que pruébalo de la siguiente manera:

 /pages |_/index.js |_/programs.js |_/programs |_/[program_id].js
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!