gpt4 book ai didi

javascript - 为什么我无法在 `` `getStaticProps ``` 中获取查询参数?

转载 作者:行者123 更新时间:2023-12-04 12:13:26 24 4
gpt4 key购买 nike

我会简单点:
链接:http://localhost:3000/product/bioCloths?activeCategory=medium&id=0文件路径:pages/product/[product].js .
预期: product: "bioCloths, activeCategory: "medium", id: "0"使用 getStaticProps[product].js :

const ProductDetails = (props) => {
console.log("initial props", props);

return <div>product details...</div>
};

export default ProductDetails;

export async function getStaticProps(context) {

return {
props: {
context: context
},
};
}

export async function getStaticPaths() {
return {
paths: [{ params: { product: "1" } }, { params: { product: "2" } }],
fallback: true,
};
}
Props返回: context: params: product: "bioCloths" ,不包括查询参数。
现在,如果我使用已弃用的 getInitialProps反而:
ProductDetails.getInitialProps = (context) => {
const activeCategory = context.query.activeCategory;
const id = context.query.id;
const product = context.query.product;

return {
activeCategory: activeCategory,
id: id,
product: product,
};
};
Prop 日志 activeCategory: "medium" id: "0" product: "bioCloths"我需要得到所有这些 Prop ,这样我才能 fetch客户端挂载前的数据。
我了解 getInitialProps现在已弃用,但它有效。为什么不是 getStaticProps工作,我应该使用它而不是 serverSideProps ?
这是一个电子商务,我无法设置 getStaticPathsgetStaticProps 一起工作,有数百种可能性所以我想在这种情况下我应该使用 getInitialProps or getServerSideProps ?
PS - getServerSideProps给我一个错误,指出它只会接受 .json文件。

最佳答案

Nextjs 的一位维护者说这是任何学习此框架的人的回复:

getStaticProps generates the page at build time. There's no possible way to know the custom query params your visitors can use at build time.


getInitialProps and getServerSideProps can know all the possible query params because the page is generated at runtime, whenever you receive a new request.


以上内容您可以了解更多 here .
"
可以在 Github 上阅读此讨论。

关于javascript - 为什么我无法在 `` `getStaticProps ``` 中获取查询参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64158735/

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