Tengo un problema con la función 'getStaticPaths'. Cuando trato de obtener una visualización dinámica con un parámetro, aparece como un error: No se proporcionó un parámetro requerido (id) como una cadena en getStaticPaths for / movies / [id] pero si uso la otra forma anterior, funciona. Sobre todo soy la documentación.
import fetch from 'node-fetch'; function MovieSelect({movie}){ return( <div> <h1>Test: {movie.name}</h1> <p>{movie.summary.replace(/<[/]?[pb]>/g, '')}</p> {movie.image ? <img src={movie.image.medium} /> : null} </div> ) } export async function getStaticPaths(){ const request = await fetch('https://api.tvmaze.com/search/shows?q=batman') const movies = await request.json() //const paths = movies.map(movie =>`/movies/${movie.show.id}`) const paths = movies.map(movie =>({ params: {id: movie.show.id}, })) return { paths, fallback: false } } export async function getStaticProps({params}){ const request = await fetch(`https://api.tvmaze.com/shows/${params.id}`) const movie = await request.json() return{ props:{ movie } } } export default MovieSelectNo se proporcionó un parámetro obligatorio (id) como cadena en getStaticPaths for / movies / [id]
id debe ser una cadena como sugiere el error. Al presionar la API desde su navegador, puede ver que la identificación no es una cadena sino un número. Necesitas convertirlo a cadena.
params: {id: movie.show.id.toString()},