javascript - 与 useEffect 反应的嵌套钩子
问题描述
我有一个组件,我在其中返回指定类别的所有产品并返回每个产品的数据。我得到所有产品使用:
const [products, setProducts] = useState([]);
// Get all of the available products from category
useEffect(() => {
fetch(state.source.api + "/cocart/v1/products?category=" + category.name)
.then((response) => response.json())
.then((data) => {
setProducts(data);
});
}, []);
并显示如下:
<>
{products.map(
({ id, name, price, categories, _links }) => {
return (
<>
<p>{name}</p>
<div>
{_links.variations.map((item) => {
return (
<p>{item.href}</p>
)
})}
</div>
</>
);
}
)}
</>
不过,每种产品也有 10 种变体。因此,在每个产品中,我必须从每个变体的 api 端点获取数据——这就是 href。
所以最终,我认为我需要创建第二个 useEffect 来映射每个产品的每个变体,并返回端点,然后获取该端点以返回端点的数据。
对于如何开始,我完全处于停滞状态。任何帮助,将不胜感激。
解决方案
使用 props 创建新组件variation
。该组件获得变化并提出请求。
const Variation = ({ variation }) => {
const [data, setData] = React.useState(null);
React.useEffect(() => {
fetch(variation)
.then(res => res.json())
.then(setData)
.catch(console.error);
}, [variation]);
return <p>{variation}</p>
};
推荐阅读
- python - 是否可以过滤推文,因为它们被twint或getoldtweets3中的转发或喜欢的数量刮掉?
- google-cloud-functions - 在 Google 的云函数上使用 Poppler(用于 pdf2image Python 库)
- python - 改进张量流中的异或神经网络并使用密集作为输入层
- postgresql - 带有 dockerized PostgreSQL 的 pg_restore 以分段错误结束
- enums - 如何结合枚举变量和值的测试?
- c - 指向结构指针的指针
- google-bigquery - 如何在 Google Bigquery 中将列名转换为全部大写?(SQL)(包括图像)
- r - 如何将分组值(每个主题)从一个 df 分配给另一个按试验分组的 df(例如,每个主题的重复行)
- typo3 - 如何访问 FLUIDTEMPLATE 文件中的数据并将该内容呈现在我们所需的文件中?
- mysql - 如何找到符合特定条件的行之间的键数?