【发布时间】:2017-01-19 15:23:21
【问题描述】:
我正在尝试在按下 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]。
什么是最好的解决方案?
【问题讨论】:
-
如果在render方法中抛出backandroid事件监听器会怎样?
-
我遇到了同样的错误。
标签: android reactjs webview react-native