如果您不想创建单独的路由,可以使用下面的 gerServerSideProps 实现
export async function gerServerSideProps({ params, ...props }) {
const products = await fetchProducts();
if (params.slugs && params.slugs instanceof Array) {
if (params.slugs.length > 2) {
const filteredProducts = products.filter(
(p) =>
p.category === params.slugs[0] &&
(p.sex === params.slugs[1] || p.sex === params.slugs[2])&&
(p.brand === params.slugs[1] || p.brand === params.slugs[2])
);
return {
props: {
products:filteredProducts
},
};
} else if (params.slugs.length > 1) {
const filteredProducts = products.filter(
(p) =>
p.category === params.slugs[0] &&
(p.sex === params.slugs[1] ||
p.brand === params.slugs[1])
);
return {
props: {
products:filteredProducts
},
};
} else if(params.slugs.length > 0){
const filteredProducts = products.filter(
(p) =>
p.category === params.slugs[0])
return {
props: {
products:filteredProducts
},
};
}
else{
return {
props: {
products:[]
},
};
}
}