Reactjs Next.js GetStaticPath

Reactjs Next.js GetStaticPath,reactjs,api,next.js,Reactjs,Api,Next.js,“GetStaticPath”函数有问题。 当我尝试使用参数获取动态显示时,它会显示为错误:在/movies/[id]的getStaticPaths中,所需的参数(id)没有作为字符串提供,但是如果我使用上面的另一种方式,它会起作用。最重要的是我的文件 import fetch from 'node-fetch'; function MovieSelect({movie}){ return( <div> <h1>Tes

“GetStaticPath”函数有问题。 当我尝试使用参数获取动态显示时,它会显示为错误:在/movies/[id]的getStaticPaths中,所需的参数(id)没有作为字符串提供,但是如果我使用上面的另一种方式,它会起作用。最重要的是我的文件

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 MovieSelect
从“节点获取”导入获取;
函数MovieSelect({movie}){
返回(
测试:{movie.name}
{movie.summary.replace(//g',)}

{movie.image?:null} ) } 导出异步函数getStaticPaths(){ const request=等待获取('https://api.tvmaze.com/search/shows?q=batman') const movies=wait request.json() //const path=movies.map(movie=>`/movies/${movie.show.id}`) 常量路径=movies.map(movie=>({ 参数:{id:movie.show.id}, })) 返回{ 路径, 后退:错误 } } 导出异步函数getStaticProps({params}){ const request=等待获取(`https://api.tvmaze.com/shows/${params.id}`) const movie=wait request.json() 返回{ 道具:{ 电影 } } } 导出默认电影选择
在/movies/[id]的GetStaticPath中,所需参数(id)未作为字符串提供。

id应该是错误建议的字符串。从浏览器点击api时,您可以看到id不是字符串而是数字。您需要将其转换为字符串

params: {id: movie.show.id.toString()},