【发布时间】:2017-11-10 13:22:00
【问题描述】:
为什么 componentDidCatch 在我的 react-native 应用程序中不起作用。
componentDidCatch 不处理错误。
React native v: 50.3
React: 16.0.0
import React, {Component} from 'react';
import {View, Text} from 'react-native';
import Logo from './SignUpInit/Logo';
import SignUp from './SignUpInit/SignUp';
import Social from './SignUpInit/Social';
import styles from './SignUpInit/styles';
export default class SignUpInit extends Component {
state = {
componentCrashed: false,
count: 0,
}
componentDidCatch(error, info) {
console.log(error);
console.log(info);
console.log('_______DID CATCH____________');
this.setState({componentCrashed: true});
}
componentDidMount(){
setInterval(()=>this.setState({count: this.state.count+1}),1000);
}
render() {
if (this.state.componentCrashed) {
return (
<View>
<Text>
Error in component "SingUpInit"
</Text>
</View>
);
}
if(this.state.count > 5){
throw new Error('Error error error');
}
return (
<View style={styles.main}>
<Logo/>
<SignUp/>
<Social/>
</View>
);
}
}
【问题讨论】:
-
如果您希望其他人提供帮助,您将需要提供更多详细信息。在此处发布代码,如果可能,请提供可重现的示例
-
您需要提供更多详细信息。什么不起作用?你期望会发生什么?能否提供相关代码或工作示例?
-
您需要提供更多详细信息。发布您的组件,究竟是什么不起作用?你怎么知道?
标签: javascript reactjs react-native