【发布时间】:2021-06-02 11:01:19
【问题描述】:
我想将我的用户引导到一个页面,在该页面上,他们可以根据公民身份号码获得折扣。我将使用他们的身份证号码来确定他们获得的折扣金额。我可以使用他们的 id 来确定位置、年龄、性别等。
他们可以路由到 mywebsite.com/megadiscount 并在一个框中填写他们的 ID 号,然后了解他们可以获得多少折扣。但现在的问题是,我还希望他们能够获得指向 mywebsite.com/megadiscount/[id number] 的链接,以了解他们可以获得多少折扣。
所以使用 NextJS,我知道我可以创建 megadiscount/index.js 和 megadiscount/[id].js 来从 url 中捕获 id。
问题是在megadiscount/[id].js 上我必须用getStaticPaths 指定我将生成的ID 页面,但问题是我不知道这些ID 将是什么。
我的megadiscount/[id].js 文件如下所示
const Page = ({discount}) => {
return (
<>
<h1>You get a discount of : {discount}%</h1>
</>
)
}
export async function getStaticPaths() {
return {
paths: [], // I don't know what these will be
fallback: false,
};
}
export async function getStaticProps(context) {
const { slug = "" } = context.params;
const discount = fetchDiscountFromServer(slug)
return {
props: {
discount
},
};
}
export default Page;
【问题讨论】:
-
你可以使用``` fallback: "blocking", ``` 在这种情况下
标签: javascript next.js dynamic-routing