アップデート:
- [category_slug]-index.js が原因でこのエラーが発生するのはどれ
getServerSideProps
ですか? - 私は製品フォルダの下でやろうとしました
index.js
、それは動作します、それは [category_slug] でgetServerSideprops
大丈夫です、私は正しいですか?
これは私のフォルダ構造です
pages
|-categories
|-[category_slug]
|-index.js
|-product
|-[product_slug].js
[product_slug]に入力するとエラーになります。表示中:
エラー: /categories/[category_slug]/product/[product_slug] の getStaticPaths で、必要なパラメーター (category_slug) が文字列として提供されませんでした
これにより、Next.js でネストされたルーティング フォルダーを実行できますか? これに関する情報が見つかりません。以下にコードを示します。
// [product_slug].js
export async function getStaticProps({ params: { product_slug } }) {
const product_res = await fetch(
`${API_URL}/products/?product_slug=${product_slug}`
); // question mark is query slug, to find the slug in the json
const found = await product_res.json();
return {
props: {
product: found[0],
}
};
}
export async function getStaticPaths() {
// Retrieve all the possbile paths
const products_res = await fetch(`${API_URL}/products/`);
const products = await products_res.json();
return {
paths: products.map((product) => ({
params: { product_slug: product.product_slug },
}),
fallback: false,
};
}
[category_slug] にハードコードされた値を提供しようとしました。この方法で正しいでしょうか?私もよくわかりません。ドキュメントでこれについて見つけることができませんでした。
export async function getStaticProps({ params: { product_slug } }) {
const product_res = await fetch(
`${API_URL}/products/?product_slug=orange_juice`
);
const found = await product_res.json();
return {
props: {
product: found[0],
},
};
}
export async function getStaticPaths() {
// Retrieve all the possbile paths
const products_res = await fetch(`${API_URL}/products/`);
const products = await products_res.json();
return {
paths: [
{
params: {
product_slug:
"categories/orange/product/orange_juice",
},
},
],
fallback: false,
};
}
[product_slug]動的ルートに最初の動的パスを入力する正しい方法を誰かが提供できますか?