Skip to content

Instantly share code, notes, and snippets.

@Giacomo92
Forked from sdiama/webview.js
Created December 22, 2021 14:54
Show Gist options
  • Save Giacomo92/4c57c1d5864f1c41c1fdb38cb59ab008 to your computer and use it in GitHub Desktop.
Save Giacomo92/4c57c1d5864f1c41c1fdb38cb59ab008 to your computer and use it in GitHub Desktop.
React Native: Handle hardware back button @ webview
import React, { Component } from 'react';
import { WebView, BackHandler } from 'react-native';
export default class WebViewMoviezSpace extends Component {
constructor(props) {
super(props);
this.WEBVIEW_REF = React.createRef();
}
componentDidMount() {
BackHandler.addEventListener('hardwareBackPress', this.handleBackButton);
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress', this.handleBackButton);
}
handleBackButton = ()=>{
this.WEBVIEW_REF.current.goBack();
return true;
}
onNavigationStateChange(navState) {
this.setState({
canGoBack: navState.canGoBack
});
}
render(){
return (
<WebView
source={{ uri: "https://moviez.space" }}
ref={this.WEBVIEW_REF}
onNavigationStateChange={this.onNavigationStateChange.bind(this)}
/>
)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment