gpt4 book ai didi

javascript - 如何在 forEach 中运行 useQuery?

转载 作者:行者123 更新时间:2023-12-04 02:37:49 29 4
gpt4 key购买 nike

我有循环 - forEach - 它为数组的每个元素找到 productId。我想使用 apollo 查询通过 productId 获取我的数据库。
怎么做?

products.forEach(({ productId, quantity }) =>
// fetch by 'productId'

);

最佳答案

来自 the rules of hooks :

Don’t call Hooks inside loops, conditions, or nested functions. Instead, always use Hooks at the top level of your React function. By following this rule, you ensure that Hooks are called in the same order each time a component renders.



钩子(Hook)不能在循环内使用,所以你不能在 forEach 内使用它们打回来。

您应该为每个仅使用 useQuery 的产品创建一个单独的组件。钩一次。然后你可以 map在产品上并返回每个产品的组件:
const YourComponent = () => {
...
return products.map(({ productId, quantity }) => (
<Product key={productId} productId={productId} quantity={quantity} />
))
}

const Product = () => {
const { data, error, loading } = useQuery(...)
// render your data accordingly
}

关于javascript - 如何在 forEach 中运行 useQuery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60830193/

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