当网络视图加载无效的网址时,应设置哪个属性以显示错误视图?我尝试renderError,它触发了控制台消息,但没有显示视图。
这是代码:
<View style={styles.webview_body}>
<WebView
source={{uri:this.props.url}}
onNavigationStateChange={this.onNavigationStateChange.bind(this)}
renderError={this.loadError.bind(this)}
/>
</View>
//the fucntion which display the error message
loadError(){
console.log('loaded');
return (
<View>
<Text>
something goes wrong.
</Text>
</View>
)
}
Run Code Online (Sandbox Code Playgroud)
这是屏幕截图
[更新]当我重新加载以清除错误时,有一个临时状态显示错误视图。
我有三条路线:Main.js,Detail.js,Page.js
在detail.js和page.js中,我添加了以下代码:
constructor(props){
this.backAndroidHandler = this.backAndroidHandler.bind(this);}
componentDidMount(){
BackAndroid.addEventListener('hardwareBackPress',this.backAndroidHandler);}
componentWillUnmount(){
BackAndroid.removeEventListener('hardwareBackPress',this.backAndroidHandler);}
backAndroidHandler(){
if (this.props.navigator.getCurrentRoutes().length >1){
this.props.navigator.pop();
return true;
}
return false;}
Run Code Online (Sandbox Code Playgroud)
当我单击Detail.js上的后退按钮时,它会顺利返回Main.js,但是,当我单击Page.js时,它首先转到Detail.js然后自动重定向到Main.js.
我该如何解决?