react-query 动态参数个数
react-query dynamic number of parameters
我将在电子商务页面上使用产品过滤器。我不确定如何在查询中传递动态数量的参数?因为有时会查询使用1个参数有时6个甚至更多。
示例
const fetchProducts = async (size, color, weight, deep,) => {
const parsed = await ky(
`http://localhost:3000/api/products/get?size=${size}&color=${color}`
).json();
return parsed;
};
const { data, status } = useQuery([size, color,], () => fetchPosts(size, color));
有时会有 10 个来自产品过滤器的不同参数,有时只有 1 个...
我该如何动态处理这个问题?然后我需要将过滤器放在 prisma 后端。
您可以使用 qs
包来处理所有参数。
示例:
const fetchProducts = (params)=>{
const query = qs.stringify(params);
const baseUrl = "http://localhost:3000/api/products/get?";
const parsed = await ky(baseUrl + query);
....
}
const params = {color:"red", size:"big"}
const query = qs.stringify(params);
//output: "color=red&size=big"
我将在电子商务页面上使用产品过滤器。我不确定如何在查询中传递动态数量的参数?因为有时会查询使用1个参数有时6个甚至更多。
示例
const fetchProducts = async (size, color, weight, deep,) => {
const parsed = await ky(
`http://localhost:3000/api/products/get?size=${size}&color=${color}`
).json();
return parsed;
};
const { data, status } = useQuery([size, color,], () => fetchPosts(size, color));
有时会有 10 个来自产品过滤器的不同参数,有时只有 1 个...
我该如何动态处理这个问题?然后我需要将过滤器放在 prisma 后端。
您可以使用 qs
包来处理所有参数。
示例:
const fetchProducts = (params)=>{
const query = qs.stringify(params);
const baseUrl = "http://localhost:3000/api/products/get?";
const parsed = await ky(baseUrl + query);
....
}
const params = {color:"red", size:"big"}
const query = qs.stringify(params);
//output: "color=red&size=big"