React Native WebView处理android硬件按钮

莫道桑榆晚,为霞尚满天。这篇文章主要讲述React Native WebView处理android硬件按钮相关的知识,希望能为你提供帮助。
我有一个应用程序(完全是Webview),我正在尝试处理android硬件按钮,从第二页返回到第一页。我现在的问题是该按钮不再关闭应用程序,我不知道该怎么办。这是我的代码:

export default class App extends Component { constructor(props) { super(props) this.state={}; this.handleBackButtonClick = this.handleBackButtonClick.bind(this); }componentWillMount() { BackHandler.addEventListener('hardwareBackPress',this.handleBackButtonClick); } componentWillUnmount() {BackHandler.removeEventListener('hardwareBackPress',this.handleBackButtonClick); }onNavigationStateChange(navState){ console.log(JSON.stringify(navState)); canGoBack = navState.url == initialUrl & & !navState.loading }handleBackButtonClick() { this.refs[WEBVIEW_REF].goBack(); return true; }

答案handleBackButtonClick的返回值决定了应用程序是否继续运行。
【React Native WebView处理android硬件按钮】目前,您总是返回true。相反,您可以检查当前导航状态是否要关闭应用程序,并相应地返回false
handleBackButtonClick() { const canGoBack = someCalculation(); if(canGoBack) this.refs[WEBVIEW_REF].goBack(); } return canGoBack; }


    推荐阅读