저는 마우스가 버튼에있을 때 지속적으로 트리거되는 간단한 기능을 구현하려고했습니다. 불행히도 모든 요소가 무한 루프에 빠지면서 구성 요소의 라이프 사이클 메소드마다 다른 솔루션을 시도했습니다.Rect에서 마우스를 누르고있는 동안 계속 콜백을 트리거하는 방법은 무엇입니까?
내 접근 방식은 단추를 더 이상 누르지 않는 한 실행되는 while
루프가 있어야했습니다. 구성 요소 상태를 isPressed: false
으로 업데이트 할 이벤트는 onMouseUp
, onMouseLeave
입니다. 간단한 샘플 :
...
componentWillUpdate() {
while (this.state.isPressed) this.doSomething();
}
render() {
<div
onMouseDown={() => this.setState({ isPressed: true })}
onMouseUp={() => this.setState({ isPressed: false })}
onMouseLeave={() => this.setState({ isPressed: false })}
>
Hey
</div>
}
나는이 방법이 효과가없는 이유를 이해하지만 올바른 방법을 구현하는 방법을 파악하는 데 어려움이 있습니다.
마지막 마우스의 행사. –
안녕을 setInterval' 사용할 수 –