【发布时间】:2021-05-14 02:54:44
【问题描述】:
我正在尝试制作像 this site 这样的购物车应用,但使用的是 reactjs。
我几乎完成了 UI,但在功能方面,我遇到了问题。
index.js:(将每个产品发送到产品component)
{products.length > 0
? products.map((product) => (
<Product key={product.id} product={product} />
))
: ""}
components/product.js:
<div>
{product?.price}
<h3>
{product.name ? product.name : ""}
</h3>
<div dangerouslySetInnerHTML={{ __html: product?.description }} />
</div>
我还有添加按钮 UI 切换代码,看起来像,
在点击添加按钮之前,
------------
| ADD +|
------------
点击添加按钮后,
-----------------
| - {count} +|
-----------------
在与 UI 相关的情况下一切正常,但问题在于更新每个产品的数量。
我从 contextApi 获取计数,看起来像,
const contextData = useContext(AppContext);
const productsCount = contextData.cart;
每次我们单击添加按钮时,此计数都会更新。 (点击单品就可以了)。
问题:
如果我单击第一个产品中的添加按钮,然后如果我单击第二个按钮中的添加,那么两个产品的结果都如下所示。
------------
| - 2 + |
------------
预期:
但是每个产品的计数需要分别更新。
-> 如果我单击产品一上的添加按钮一次,那么产品一中的计数需要为 1。
------------
| - 1 + |
------------
-> 如果我三次点击产品二上的添加按钮,那么产品二中的计数需要为 3。
------------
| - 3 + |
------------
【问题讨论】:
标签: javascript reactjs next.js cart