在下一个 js 后端解构数组中的对象
Destructuring object in array on next js backend
我该如何解决这个问题?我将 req.query 参数与一个数组放在一起,但我无法解构或使用我的数组中的项目。我的 next.js API 后端只是 [object Object] 或未定义。我怎样才能 select 我想要什么?
const fetchData = async (queryKey: any, manufacturer) => {
const res = await fetch(
`http://localhost:3000/api/data/get?&manufacturer=${manufacturers}`
);
return await res.json();
};
const manufacturers = [
{ name: 'Samsung', type: 'TV' },
{ name: 'Nokia', type: 'Phone' },
];
const { data, status } = useQuery(
['somekey', manufacturer],
({ queryKey }) => fetchData(queryKey, manufacturer)
);
这是下一个 API,我无法从刚刚获得的查询中获取值
[对象,对象] 或未定义,
如果只是在前端放置一个简单的数组或字符串而没有变量制造商中的对象,此代码就可以工作。
但是我如何从 [Object, object] 获取值?
我试试
const { name, type } = req.query.manufacturer
const { name, type } = req.query.manufacturer[0]
或 select 只有一个字段对 = const some = req.query.manufacturer[0].name
不起作用
export const handler = async (
req: NextApiRequest,
res: NextApiResponse<Data>
) => {
const { name, type } = req.query.manufacturer;
};
export default handler;
你能试试const [{ name, type }] = req.query.manufacturer
吗?好像是你需要的
编辑
此外,您可能想尝试代替 http://localhost:3000/api/data/get?&manufacturer=${manufacturers}
=> http://localhost:3000/api/data/get?&manufacturer=${encodeURIComponent(JSON.stringify(manufacturers))}
它可能可以通过 { name, type } = req.query.manufacturer
然后
访问
我该如何解决这个问题?我将 req.query 参数与一个数组放在一起,但我无法解构或使用我的数组中的项目。我的 next.js API 后端只是 [object Object] 或未定义。我怎样才能 select 我想要什么?
const fetchData = async (queryKey: any, manufacturer) => {
const res = await fetch(
`http://localhost:3000/api/data/get?&manufacturer=${manufacturers}`
);
return await res.json();
};
const manufacturers = [
{ name: 'Samsung', type: 'TV' },
{ name: 'Nokia', type: 'Phone' },
];
const { data, status } = useQuery(
['somekey', manufacturer],
({ queryKey }) => fetchData(queryKey, manufacturer)
);
这是下一个 API,我无法从刚刚获得的查询中获取值 [对象,对象] 或未定义,
如果只是在前端放置一个简单的数组或字符串而没有变量制造商中的对象,此代码就可以工作。
但是我如何从 [Object, object] 获取值? 我试试
const { name, type } = req.query.manufacturer
const { name, type } = req.query.manufacturer[0]
或 select 只有一个字段对 = const some = req.query.manufacturer[0].name
不起作用export const handler = async (
req: NextApiRequest,
res: NextApiResponse<Data>
) => {
const { name, type } = req.query.manufacturer;
};
export default handler;
你能试试const [{ name, type }] = req.query.manufacturer
吗?好像是你需要的
编辑
此外,您可能想尝试代替 http://localhost:3000/api/data/get?&manufacturer=${manufacturers}
=> http://localhost:3000/api/data/get?&manufacturer=${encodeURIComponent(JSON.stringify(manufacturers))}
它可能可以通过 { name, type } = req.query.manufacturer
然后