React Native에서 여러 클릭 이벤트 (단일, 이중, 긴)로 버튼을 만들고 있습니다. 이미 Touchable 구성 요소를 사용했으며 시간 지연을 사용하여 이러한 이벤트를 얻었습니다. 그러나 이것은 좋은 해결책이 아니며 몇 가지 문제가 있습니다. 두 번 클릭하면 단일 이벤트가 동시에 발생한다는 것입니다. 이 경우 단일 클릭 이벤트를 제거하고 유일한 더블 클릭 이벤트를 가져와야합니다. 다른 좋은 해결책이 있습니까?
React Native의 터치 가능한 불투명도에는 onLongpress 또는 두 번 클릭 지원이 없습니다.
그러나 당신은 사용할 수 있습니다 TouchableWithoutFeedback를 이 지원으로, onLongPress funtionality을.
또한 React 네이티브 터치 가능 항목에서 doubleclick을 구현하기위한 사용자 지정 코드를 추가 할 수 있습니다.
당신이 할 수있는 일은 클릭에 대한 카운트를 저장하고 몇 초 후에 클릭 카운터를 지우고 두 번 클릭하면 onPress 에서 기능을 트리거하는 것입니다.
반응 네이티브에서 더블 클릭에 대한 샘플 코드-
<TouchableWithoutFeedback
style={{ position: 'absolute', left: 0, padding: 20, backgroundColor:'green' }}
onPress={() => {
this.backCount++
if (this.backCount == 2) {
clearTimeout(this.backTimer)
console.warn("Clicked twice")
} else {
this.backTimer = setTimeout(() => {
this.backCount = 0
}, 3000) #mention here the time for clearing the counter in ms
}
}}
>
</TouchableWithoutFeedback>
생성자에서 this.backCount = 0을 초기화하는 것을 잊지 마십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다