我在我的React Native应用程序中使用了此功能,但它使我的应用程序崩溃,尽管它在控制台上显示了我在模拟器上的错误,但我应如何使用alert向用户显示任何错误而不是使应用程序崩溃?
signup =(email,password) =>{
try{
firebase.auth().createUserWithEmailAndPassword(email,password)
.then(() => this.props.navigation.navigate('home')) }
catch(error){
alert("not valid"`enter code here`)
}
}
答案 0 :(得分:1)
您可以使用开关箱上的错误代码显示自定义警报消息:
[c0d3@z3r0 tmp]$ cat /etc/udev/rules.d/45-test.rules
GOTO="end"
IMPORT{program}=="/bin/touch /tmp/noend"
LABEL="end"
IMPORT{program}=="/bin/touch /tmp/end"
[c0d3@z3r0 tmp]$ sudo udevadm control --reload
[c0d3@z3r0 tmp]$ sudo udevadm trigger
[c0d3@z3r0 tmp]$ ls /tmp/*end
/tmp/end
[c0d3@z3r0 tmp]$
如果您想直接从firebase显示消息:
import {Alert} from 'react-native';
try{
firebase.auth().createUserWithEmailAndPassword(email,password)
.then(() => this.props.navigation.navigate('home'))
.catch(error => {
switch(error.code) {
case 'auth/email-already-in-use':
Alert.alert('Email already in use !')
break;
}
})
}catch(err){
alert("Error : ", err);
}
答案 1 :(得分:0)
为什么不
signup =(email,password) =>{
try{
firebase.auth().createUserWithEmailAndPassword(email,password)
.then(() => this.props.navigation.navigate('home'))
.catch(error => {
alert("Error occurred", error)
})
}catch(err){
alert("Error occurred", err);
}
}
答案 2 :(得分:0)
我认为您不能在我之前做过的try块中使用异步函数或promise,这导致了与urs相同的问题,您只能在那时使用并捕获并尝试删除try语句,我希望它帮助