반응형
React 네이티브를 사용했을 때 back button을 누르면 엡이 종료가되는데
이를 방지하기 위해서 아래와 같은 코드가 들어가잇으면 됩니다.
webView = {
canGoBack: false,
ref: null,
}
onAndroidBackPress = () => {
if (this.webView.canGoBack && this.webView.ref) {
this.webView.ref.goBack();
return true;
}
return false;
}
componentDidMount() {
if (Platform.OS === 'android') {
BackHandler.addEventListener('hardwareBackPress', this.onAndroidBackPress);
}
}
componentWillUnmount() {
if (Platform.OS === 'android') {
BackHandler.removeEventListener('hardwareBackPress');
}
}
return (
<View style={{ flex: 1, marginTop:20 }}>
<WebView
source={{
uri:
'https://url 주소',
}}
ref={(webView) => { this.webView.ref = webView; }}
onNavigationStateChange={(navState) => { this.webView.canGoBack = navState.canGoBack; }}
</View>
);
이러면 잘 작동 하네요
반응형
'프로그래밍 > App 개발' 카테고리의 다른 글
React-Native 프로젝트 이름 변경하기 (0) | 2021.09.03 |
---|---|
React Native Android Build 에러 해결 (0) | 2021.07.26 |
React-Native Webview 만들기 방법 (0) | 2020.05.30 |
[퍼온글]_BroadCastReceiver 에 대하여 (0) | 2020.04.21 |
안드로이드 개발자 모드 진입 방법 (0) | 2020.01.08 |