首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当计数在reactjs中减少时,如何减去总成本?

当计数在reactjs中减少时,如何减去总成本?
EN

Stack Overflow用户
提问于 2022-07-04 17:08:41
回答 2查看 25关注 0票数 0

我的网页有一个柜台,用于计算成人票(每张25美元)和小票(每张10美元)。每个计数器有两个按钮,一个将计数器增加1,另一个将减少1。然后将它们存储在一个列表(adultTicketsminorTickets)中,我正在尝试创建一个函数来计算总成本(例如,两张成人票和一张小票将花费60美元),但我遇到了问题,如何跟踪票价下降时的成本,从而降低价格。

下面是我目前追踪成本的方法,我已经把它剥回原来的水平,因为我试图做的每一次修复似乎都会使情况变得更糟:

代码语言:javascript
复制
const countCostAdd = () => {
       let overallCost = (adultTickets.length * 25) + (minorTickets.length * 10);
       setCost(overallCost);
    };

    const countCostMinus = () => {
        let overallCost = (adultTickets.length * 25) - (minorTickets.length * 10);
        setCost(overallCost);
    }

添加部分工作得很好,但是减号函数没有。例如,用户添加了2张小票,然后拿走了1张。总成本应该是10,但它的结果是-10,因为(0 x 25 = 0) - (1 X 10)。我尝试将其限制在0,但这就产生了一个问题:每当adultTickets.length =0时,即使有票选择,它也会使整个成本为0。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-06 22:29:30

这是为了我:

代码语言:javascript
复制
const countCostMinus = () => {
    if(overallCost != 0) {
        let overallCost = (adultTickets.length * 25) + (minorTickets.length * 10);
        setCost(overallCost);
    }}

如果我正确地理解了这一点,那是因为我的脚本在每次更新时都没有保存overallCost,所以不需要从它中减去任何东西。每次我减少1,数组的长度就会自动改变,所以它只需要做与countCostAdd相同的事情。

票数 0
EN

Stack Overflow用户

发布于 2022-07-04 17:27:52

每次你拿走门票时,你所做的就是从成人票的数量中减去次要票的数量。所以这个函数所做的就是用0- 20重新设置overallCost,当你减少的时候将它更改为0- 10,这就是你要得到的。

因此,要减少成人票,应该是overallCost = ((adultTickets.length - 1) * 25) + (minorTickets.length * 10)。要减少小票,应该是overallCost = (adultTickets.length * 25) + (minorTickets.length -1* 10)。您可能需要不同的函数,因为不同的值。这有意义吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72860077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档