Firebase ';电子邮件格式不正确';反应天然火基
我是这样称呼firebase auth的:Firebase ';电子邮件格式不正确';反应天然火基,firebase,react-native,Firebase,React Native,我是这样称呼firebase auth的: onButtonPress() { const {email, password} = this.state; console.log(email,password); firebase.auth().signInWithEmailAndPassword(email, password) .catch( (err) => { console.log(err);
onButtonPress() {
const {email, password} = this.state;
console.log(email,password);
firebase.auth().signInWithEmailAndPassword(email, password)
.catch( (err) => {
console.log(err);
firebase.auth().createUserWithEmailAndPassword(email, password)
.catch( (err) => {
console.log(err);
this.setState({ error: err.message });
});
});
}
这是我的身份验证文本输入:
<Card>
<CardSection>
<Input
secureTextEntry={false}
label={'E-mail'}
placeholder={'user@gmail.com'}
onChangeText={(email) => this.setState({email})}
value={this.state.email}
/>
</CardSection>
<CardSection>
<Input
secureTextEntry={true}
label={'Password'}
placeholder={'password'}
onChangeText={(password) => this.setState({password})}
value={this.state.password}
/>
</CardSection>
<Text style={styles.errorStyle}>{this.state.error}</Text>
<CardSection>
<Button onPress={this.onButtonPress.bind(this)}>
Log In
</Button>
</CardSection>
</Card>
this.setState({email})}
值={this.state.email}
/>
this.setState({password})}
值={this.state.password}
/>
{this.state.error}
登录
但当它运行时,会显示这样的消息:
即使我没有在input中输入任何电子邮件和密码并按submit,也会弹出此错误 您的代码错误,您的创建用户函数位于登录捕获块中。将它们分开,在创建user:I是指注册时只需这样做
firebaseRef.auth().createUserWithEmailAndPassword(this.state.email,this.state.password)。然后((userData)=>{//userData})。catch((error)=>{//error})代码>
登录:
firebaseRef.auth().signiWithEmailAndPassword(this.state.email,this.state.password)。然后((userData)=>{//userData})。catch((error)=>{//error})代码>
而且你在注册时已经登录了
注:firebaseRef是Firebase.initializeApp(配置)的引用 此错误是由于this.state.email导致的默认空格引起的。使用trim()并将其发送到服务器,阻止了错误的发生。这是一段工作代码
const {email, password} = this.state;
this.setState({ error: '', loading: true });
firebase.auth().signInWithEmailAndPassword(email.trim(), password)
.then(this.onLoginSuccess.bind(this))
.catch( (err) => {
firebase.auth().createUserWithEmailAndPassword(email.trim(), password)
.then(this.onLoginSuccess.bind(this))
.catch(this.onLoginFailed.bind(this));
});
我们可以看看onButtonPress方法吗?问题是什么?是的,空的格式不正确email@cladClad我已经更新了问题。我尝试了你的代码,得到了相同的错误。。代码:“验证/无效电子邮件”,消息:“电子邮件地址格式不正确。”注册过程成功吗?您是否正确地向服务部门发送电子邮件?如果你做的每件事都正确,我不知道为什么会发生。是的,我发现这个.state.email有额外的空间。trim()使我免于那个问题。现在有一个新问题。发生了网络错误(例如超时、连接中断或主机无法访问)。当我第一次使用firebase时,我意识到react native debugger会导致firebase出现“网络错误”之类的问题,我不记得为什么或如何解决此问题。关闭调试器并再次尝试查看其调试器是否正确。检查:这是一个到本机端的小JS桥,我认为它将为调试器解决您的问题。它显示email.trim()函数.trim()未定义!