我试图构建一个React组件,在悬停在一个div上时需要计算onMouseEnter和onMouseLeave之间的时间差。我已经将"time"加入状态中,但不知道如何继续下去。由于我是React的初学者,无法使其正常工作。请帮帮我...另外,当我尝试显示这些元素时,我不确定显示的timeStamp属性。
import React from 'react';
import '../Hover/Hover.css';
class Hover extends React.Component {
constructor(props) {
super(props);
this.handleMouseEnter = this.handleMouseEnter.bind(this);
this.handleMouseLeave = this.handleMouseLeave.bind(this);
this.state = {
isHovering: false,
time: 0
}
}
handleMouseEnter(elementEnter){
console.log("mouseenter : ", elementEnter.timeStamp)
this.setState({
isHovering: true
})
}
handleMouseLeave(elementLeave) {
console.log("mouseleave : ", elementLeave.timeStamp)
this.setState({
isHovering: false
})
}
render() {
return(
<div className="hover" onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave}>
<h1>Hover Component</h1>
</div>
)
}
}
handleMouseEnter
中,你需要将当前时间保存到time
状态变量中,在handleMouseLeave
中,你需要找到差异,就这些。 - Abin Thaha