[英]React Native Firebase Auth function
我正在使用使用Firebase實時存儲的React Native Crud應用程序。 我將Firebase身份驗證功能與電子郵件和密碼記錄一起使用。 但我的Firebase身份驗證無法正常工作。 Firebase連接遇到更多問題。 我使用此功能連接Firebase。
componentWillMount() {
firebase.initializeApp({
apiKey: 'xxxxxxxxxxxxxxxxxxxxxxxx',
authDomain: 'xxxxxxxxxxxxxxxxxxxxxx',
databaseURL: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
projectId: 'xxxxxxxxxxxxxxxxxxxxx',
storageBucket: 'xxxxxxxxxxxxxxxxxxxxxxxx',
messagingSenderId: 'xxxxxxxxxxxxxxx'
});
}
我的登錄按鈕身份驗證功能如下所示:
state = { email: '', password: '', error: '' };
onButtonPress() {
const { email, password } = this.state;
firebase.auth().signInWithEmailAndPassword(email, password)
.catch(() => {
firebase.auth().createUserWithEmailAndPassword(email, password)
.catch(() => {
this.setState({ error: 'Authenticaton Failed.' });
});
});
}
我像這樣導入firebase庫:
import * as firebase from 'firebase';
import 'firebase/firestore';
import 'firebase/auth';
但是此配置不起作用。 它顯示了此錯誤:
undefined is not a function (evaluating 'firebase.auth()')
我曾經通過這種方法獲取文本輸入值:
value={this.state.password}
onChangeText={password => this.setState({ password })}
您的Firebase配置僅存在於componentDidMount
。 嘗試這樣:
在任意位置創建文件<namefile>.js
並添加:
import * as firebase from 'firebase'
import 'firebase/auth';
const config = {
apiKey: "your key",
authDomain: "domain",
databaseURL: xxxx",
projectId: "xxxx",
storageBucket: "xxx",
messagingSenderId: "xxxx"
};
if (!firebase.apps.length) {
firebase.initializeApp(config);
}
const auth = firebase.auth();
export {
auth
};
在您的組件和按鈕方法中導入auth
,可通過以下方法更改代碼:
auth.signInWithEmailAndPassword
它應該可以工作,並且每次需要使用auth
,只需要導入即可
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.