Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 경우의 수
- FlatList
- Navigation
- 티스토리챌린지
- 해외 대외활동
- 상속 관계 매핑
- React Native
- 창의충전소
- springboot
- multipart upload
- ReactNative
- 백준 1992
- 이영직
- bfs dfs
- 자료구조
- 원복
- 오블완
- 휴대폰 기기
- web view
- React Natvive
- react
- 완전탐색
- 폴더구조
- Project Bee
- 버튼 활성화
- service 테스트
- 구현
- 비트마스킹
- 노마드코더
- BFS
Archives
- Today
- Total
유미의 기록들
[React Native -18] 뒤로가기 했을 때 앱 종료하기 본문
728x90
반응형
❗ Stack안에 Tab이 있는 구조여서
Home페이지(Tab)에서 뒤로가기 했을 경우 로그인페이지(Stack)가 보이는 문제가 있었다
따라서 Home페이지에서 뒤로가기를 했을 경우 , Alert이 뜨고 앱을 종료하는 것을 해보겠다
https://reactnative.dev/docs/backhandler
react-native에 내장되어 있는 BackHandler라는 컴포넌트가 있는데, 공식문서를 보면서 간단하게 구현할 수 있었다
Backhandler API는 하드웨어의 뒤로가기 버튼을 감지하고 시스템의 뒤로가기 동작에 대한 이벤트 리스너를 등록하며, 애플리케이션이 응답하는 방식을 제어할 수 있다. (안드로이드 전용임)
먼저, BackHandler를 import해준다
import { BackHandler } from 'react-native';
다음으로, 뒤로가기버튼을 적용하고자 하는 페이지의 componentDidMount(), componentWillMount()에 아래와 같은 코드를 추가한다
//이벤트 호출
componentDidMount() {
BackHandler.addEventListener("hardwareBackPress", this.backPressed);
}
//이벤트 삭제
componentWillUnmount(){
BackHandler.removeEventListener("hardwareBackPress", this.backPressed);
}
//뒤로가기 했을 때 앱 종료
backPressed=()=>{
Alert.alert("", "앱을 종료하시겠습니까?", [
{
text: "취소",
onPress: () => null,
style: "cancel"
},
{ text: "확인", onPress: () => BackHandler.exitApp() }
]);
return true;
}
hardwareBackPress의 이벤트 함수에는 boolean리턴값을 주어야한다
(return이 true일 경우, 기존의 뒤로가기 명령을 무시한다)
728x90
반응형
'MDLAB 기록 > 차량부품거래애플리케이션' 카테고리의 다른 글
[React Native -20] Modal 구현 (0) | 2023.01.02 |
---|---|
[React Native -19] Navigation Callback함수 전달 (0) | 2022.12.27 |
[React Native -17] 해시태그 기능 구현 (0) | 2022.12.17 |
[React Native -16] 라디오 버튼 구현하기 (0) | 2022.12.04 |
[React Native -15] 행정안전부 주소 API 사용하여 직접 구현해보기 (0) | 2022.12.01 |
Comments