需要检查提交的值是否大于当前值

时间:2019-06-16 16:20:50

标签: reactjs

需要检查用户的出价是否高于当前出价/价格。目前,我回想起输入总是小于当前的出价/价格。测试变量是我从另一个组件传递过来的当前价格/出价。

proc

1 个答案:

答案 0 :(得分:0)

setBid不会立即求值,因此setBid(...) && doSomethingWith(price)将使用旧值price。价格更新后,您需要处理价格检查;即渲染组件时。也就是说,setBid将更新状态,并在某些时候React将重新渲染您的组件。那时,无论需要了解价格还是测试的任何子组件,您都可以将两者进行比较并呈现适当的html。

此外,您使用了错误的运算符(&而不是&&),其结果是:

> 2 & true
0   // this is treated at "falsy" in javascript!!

因为true0b01)和20b10)将按位&00

比较

> 2 && true
true

您也有错误的处理优先权,应将整个?:表达式包装在括号中。

 setBid(e.target.value) & (parseFloat(price) > parseFloat(test)
                ? console.log("greater")
                : console.log("less than"))

说明:

> false && true ? 1 : 2
2
> false && (true ? 1 : 2)
false

但是,当您将pricetest进行比较时,请解决此问题,其余都没有意义。