我在接下來的 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'}}
],
我知道我的地圖功能應該是正確的,因為我在組件內部進行了測驗
axios
.get(`myAPI`)
.then((response) => {
console.log(response.data.map((res) => {return(res.id)}))
})
組件中的控制臺輸出回傳資料沒有抱怨,為什么我無法實作它getStaticPath?
uj5u.com熱心網友回復:
resData已經是您的物件陣列,因此您可以“跳過” data:
const res = await fetch(`myAPI`);
const resData = await res.json();
const paths = resData.map((r) => ({
params: { id: r.id}
}));
之所以在使用 Axios 時必須使用data,是因為 Axios 已經為您獲取了 JSON 格式的回應資料(as data)。你把 Axios 的responsefor resData.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/525305.html
