Javascript res.json不是函数-Next.js
Next.js文档有点模棱两可,对我的问题没有帮助——我在使用getStaticPaths函数时遇到了问题。以下是我的代码:Javascript res.json不是函数-Next.js,javascript,next.js,Javascript,Next.js,Next.js文档有点模棱两可,对我的问题没有帮助——我在使用getStaticPaths函数时遇到了问题。以下是我的代码: export async function getStaticPaths() { let res = fetch("localhost:3000/api/main") const paths = res.json().map(state => ({ params: {id: states.id},
export async function getStaticPaths() {
let res = fetch("localhost:3000/api/main")
const paths = res.json().map(state => ({
params: {id: states.id},
}))
return {paths,
fallback: false}
}
有没有想过为什么这不起作用?我还有一个getStaticProps函数,可以正确加载res.json()您应该这样做:
export async function getStaticPaths() {
const res = await fetch("http://localhost:3000/api/main")
const decoded = await res.json();
const paths = decoded.map(state => ({
params: {state: states.id},
}));
return {
paths,
fallback: false
}
}
嘿,把http也放进去:
http://localhost:3000/api/main
,您应该等待获取:const res=await fetch(url)
fetch
返回一个挂起的承诺,它没有json()
方法,因此res.json()显然不是一个函数。见上面哈迪的回答。