gpt4 book ai didi

node.js - 错误: A required parameter (id) was not provided as a string in getStaticPaths for/location/[id]

转载 作者:行者123 更新时间:2023-12-02 01:54:58 24 4
gpt4 key购买 nike

我在 next.js 和 mongodb 网站上工作,我完全遵循本教程,但使用不同的文件/变量名称。我在尝试访问动态页面时不断遇到此错误:错误:未在 getStaticPaths 中为/location/[id] 提供所需参数 (id) 作为字符串

教程:https://www.youtube.com/watch?v=MFuwkrseXVE&ab_channel=Academind就在 2 小时 40 分钟之前

PS出于安全原因删除了数据库信息

export async function getStaticPaths(){
const client = await MongoClient.connect(''); ////////// username and password here for mongo db and db name
const db = client.db();

const destinationsCollection = db.collection('destination');
const destinations = await destinationsCollection.find({},{_id: 1}).toArray();
client.close();
return {
fallback: false,
paths: destinations.map((destination) => ({ params: {destinationId: destination._id.toString()},
})),
};
}

最佳答案

您的页面是/location/[id],因此您需要在params对象中返回一个id字段,例如:

{
params: {
id: destination._id.toString()
}
}

您在动态路径中使用的参数很重要

在您的页面位置,例如/location/[anythingInside] 您需要确保参数内的内容与动态名称文件相同,即您创建的大括号[]内的内容,例如应该像这样:

{
params: {
anythingInside: data.id.toString()
}
}

创建文件时使用的内容必须与参数中的数据相同,例如:path/[anythingInside]params: { everythingInside: { data }}请记住 anythingInside 必须与 params 内的内容相同。

关于node.js - 错误: A required parameter (id) was not provided as a string in getStaticPaths for/location/[id],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69734447/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com