// 클릭 회수를 저장하는 state
const [backTapping,setBackTapping] = useState(0);
// Device의 Back button을 Press할때 발생하는 Action
const backAction = () => {
setBackTapping((prev) => prev += 1);
return true
}
// 클릭 회수를 초기화하는 Timer
useEffect(() => {
const timer = setInterval(() => {
setBackTapping(0)
}, 1000)
return () => clearInterval(timer);
}, [])
// Action을 Listener에 등록하는 UseEffect
useEffect(() => {
const backHandler = BackHandler.addEventListener('hardwareBackPress',backAction )
return () => backHandler.remove()
}, [])
// backTapping이 2가 될 때 앱 종료
useEffect(() => {
if(backTapping >= 2){
return BackHandler.exitApp();
}
},[backTapping])