reactjs - firebase.auth() 中缺少 doSignInWithEmailAndPassword()
问题描述
我想使用 React Context 为我的 React 应用程序提供一个 firebase 实例。我写的 Firebase 类如下:
import firebase from "firebase/app";
import "firebase/auth";
const firebaseConfig = {
apiKey: process.env.REACT_APP_FIREBASE_API_KEY,
authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,
databaseURL: process.env.REACT_APP_FIREBASE_DB_URL,
projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,
storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,
messagingSenderId: process.env.REACT_APP_FIREBASE_SENDER_ID,
appId: process.env.REACT_APP_FIREBASE_APP_ID
};
class Firebase {
constructor() {
firebase.initializeApp(firebaseConfig);
this.auth = firebase.auth();
}
// *** AUTH API ***
doCreateUserWithEmailAndPassword = (email, password) => {
this.auth.createUserWithEmailAndPassword(email, password);
};
doSignInWithEmailAndPassword = (email, password) => {
this.auth.doSignInWithEmailAndPassword(email, password);
};
doSignOut = () => this.auth.signOut();
doPasswordReset = email => this.auth.sendPasswordResetEmail(email);
doPasswordUpdate = password => this.auth.currentUser.updatePassword(password);
}
export default Firebase;
当我尝试使用电子邮件和密码登录时,出现以下错误:
TypeError: this.auth.doSignInWithEmailAndPassword is not a function
at Firebase.doSignInWithEmailAndPassword (firebase.js:27)
at SignInFormBase.onSubmit (SignIn.jsx:26)
at HTMLUnknownElement.callCallback (react-dom.development.js:147)
at Object.invokeGuardedCallbackDev (react-dom.development.js:196)
at invokeGuardedCallback (react-dom.development.js:250)
at invokeGuardedCallbackAndCatchFirstError (react-dom.development.js:265)
at executeDispatch (react-dom.development.js:571)
at executeDispatchesInOrder (react-dom.development.js:596)
at executeDispatchesAndRelease (react-dom.development.js:695)
at executeDispatchesAndReleaseTopLevel (react-dom.development.js:704)
at forEachAccumulated (react-dom.development.js:676)
at runEventsInBatch (react-dom.development.js:844)
at runExtractedEventsInBatch (react-dom.development.js:852)
at handleTopLevel (react-dom.development.js:5030)
at batchedUpdates$1 (react-dom.development.js:21469)
at batchedUpdates (react-dom.development.js:2247)
at dispatchEvent (react-dom.development.js:5110)
at react-dom.development.js:21526
at Object.unstable_runWithPriority (scheduler.development.js:255)
at interactiveUpdates$1 (react-dom.development.js:21525)
at interactiveUpdates (react-dom.development.js:2268)
at dispatchInteractiveEvent (react-dom.development.js:5086)
任何人都可以帮我弄清楚出了什么问题?
解决方案
它应该是
doSignInWithEmailAndPassword = (email, password) => {
this.auth.signInWithEmailAndPassword(email, password);
};
推荐阅读
- php - PRE_SETA_DATA 已关闭
- python - 查找唯一的子字符串并保留序列
- c# - 错误 C2770:无效的显式泛型参数
- bash - xargs -I replace-str in find ... -exec sed
- python - 我怎样才能解析这个表格?
- c - 指向c中链表的第一个元素
- python - 为什么这个散列程序不打印非散列文本,然后是散列版本?
- redux - redux-observable 无法从发出的动作中捕获错误,错误会停止动作流
- ide - 在 Ubuntu18 上打开 Spyder3 时缺少依赖项导致 Keyring 错误?
- vba - 自动从 Outlook 2013 下载/保存附件到某个文件夹。下面编写的脚本说“运行时错误:13 类型不匹配”