我在接下来的13中遇到了动态路由问题,我有动态页面[id].js
,正在尝试获取数据
const res = await fetch(`myAPI`);
const resData = await res.json();
const paths = resData.data.map((r) => ({
params: { id: r.id}
}));
return {
paths,
fallback: false
}
它不工作,并给我错误的.map
函数,如果我硬编码的路径,它的工作没有任何问题,并给我正确的输出数据
硬编码示例:
paths: [
{params: { id: '67'}}
],
在组件内部进行测试时,我知道我的map函数应该是正确的
axios
.get(`myAPI`)
.then((response) => {
console.log(response.data.map((res) => {return(res.id)}))
})
组件中控制台输出返回数据没有抱怨,为什么我不能在getStaticPath
中实现?
1条答案
按热度按时间rt4zxlrg1#
resData
已经是您的对象数组,因此您可以“跳过”data
:使用Axios时必须使用
data
的原因是Axios已经为您获取了JSON格式的响应数据(data
)。您将Axios的response
与resData
混淆了。