【发布时间】:2021-08-02 15:46:33
【问题描述】:
这里可能只是发生了一些非常愚蠢的事情,但由于某种原因,一个明显的条件在这里没有变成真的:
const [mouseDown, setmouseDown] = useState(false)
const [isMouseDownSuccess, setisMouseDownSuccess] = useState(false)
const delay = 1000;
const [startPress, setstartPress] = useState(null)
function handleMouseDown(){
setstartPress(Date.now())
setmouseDown(true)
// console.log(startPress)
}
function handleMouseUp(){
const diff = Date.now - startPress;
//This if statement for some reason never becomes true.
if(diff > delay){
// setisMouseDownSuccess(!isMouseDownSuccess)
console.log('Long Press')
}
// console.log(Date.now())
setmouseDown(false)
console.log("difference: " + (Date.now() - startPress))
console.log("delay: " + delay)
console.log(diff > delay)
//This clearly shows a numerical difference^^^....so the if statement should be true.
}
【问题讨论】:
-
const diff = Date.now - startPress;应该是const diff = Date.now() - startPress; -
Date.now() - startPress。你想要这个吗? -
你在
Date.now - startPress中错过了() -
谢谢大家????
-
如果答案解决了您的问题,请不要忘记将答案标记为已接受。
标签: reactjs conditional-statements