是因为WebView默认情况下会将后退按钮事件传递给网页,而不是应用程序本身。为了解决这个问题,可以通过以下几种方式来实现:
import React, { Component } from 'react';
import { WebView } from 'react-native';
class MyWebView extends Component {
handleNavigationStateChange = (navState) => {
if (navState.canGoBack) {
// 可以后退,执行后退操作
this.webview.goBack();
} else {
// 不能后退,执行其他操作
// ...
}
}
render() {
return (
<WebView
ref={(ref) => { this.webview = ref; }}
source={{ uri: 'https://example.com' }}
onNavigationStateChange={this.handleNavigationStateChange}
/>
);
}
}
export default MyWebView;
总结:以上是解决React本机WebView应用程序在按下后退按钮时不退出的几种方法,具体选择哪种方法取决于项目需求和开发者的技术背景。
领取专属 10元无门槛券
手把手带您无忧上云