我正在尝试在按下 android 后退按钮时添加返回 webview,但我仍然无法使其工作。
这是我的代码:
<WebView
ref={WEBVIEW_REF}
source={source}
domStorageEnabled={true}
onNavigationStateChange={this.onNavigationStateChange}
/>
componentDidMount() {
BackAndroid.addEventListener('hardwareBackPress', function() {
if(this.state.backButtonEnabled) {
this.refs[WEBVIEW_REF].goBack();
return true;
}
});
};
onNavigationStateChange = (navState) => {
this.setState({
backButtonEnabled: navState.canGoBack,
});
};
使用上面的代码,我得到错误 undefined is not an object this.state.backButtonEnabled (在状态中设置)。
比我只是想看看 goBack 是否有效,所以我删除了 if 语句,然后我收到错误 undefined is not an object this.refs[WEBVIEW_REF]。
什么是最好的解决方案?