Skip to content

Instantly share code, notes, and snippets.

@tejastank
Forked from sdiama/webview.js
Created August 19, 2021 15:53
Show Gist options
  • Select an option

  • Save tejastank/9dae613c06ddc8c499a5368990bba7a5 to your computer and use it in GitHub Desktop.

Select an option

Save tejastank/9dae613c06ddc8c499a5368990bba7a5 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