javascript - Firebase 身份验证无法使用 Vue 和 Vuex
问题描述
我正在尝试在我的 Vue 应用程序中使用 Firebase 添加身份验证,但[Vue warn]: Error in v-on handler: "TypeError: _config_firebase__WEBPACK_IMPORTED_MODULE_8__.user.SignInWithEmailAndPassword is not a function"
出现错误。这是我的 irebase 配置文件:
import firebase from "firebase/app";
import "firebase/firestore";
import "firebase/auth";
const firebaseConfig = {
apiKey: "MY_API_KEY",
authDomain: "MY_AUTH_DOMAIN",
databaseURL: "MY_DB_URL",
projectId: "MY_PROJECT_ID",
storageBucket: "MY_STORAGE_BUCKET",
messagingSenderId: "MY_MESSAGE_SENDER_ID",
appId: "MY_APP_ID"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
// Get a Firestore instance
export const user = firebase.auth();
export const db = firebase.firestore();
然后在 Vuex 中的动作:
import { db, user } from "./config/firebase";
loginUser({ commit }, payload) {
user
.SignInWithEmailAndPassword(payload)
.then(user => {
console.log(user);
commit("SET_USER", user);
})
.catch(error => {
commit("setLoading", false);
commit("setError", error);
console.log(error);
});
router.push("/");
}
到目前为止,我已经能够创建、读取、更新和删除,尽管配置文件与此稍有不同,当我添加auth
时是在我更改代码时。
解决方案
改变这个:
user.SignInWithEmailAndPassword(payload)
进入这个:
user.signInWithEmailAndPassword(payload)
从文档:
使用电子邮件和密码异步登录。
推荐阅读
- svg - 内联 svg vs svg Sprite vs 多个外部文件
- progressive-web-apps - 有没有办法在测试运行设置中将 PWA 添加到主屏幕并在测试运行拆解中将其从主屏幕中删除
- apache-spark - Spark没有从二进制文件中读取所有记录
- javascript - 带有网络和 Sceenchooser 的 React-Native Router Flux
- javascript - 如何在 html 网站上使用 javascript 读取和写入另一个文件?
- swift - 从 ViewRouter 和 ObservableObjects 或 environmentObject 指向 SwiftUI 中的所有三个视图
- react-native - 在 React Navigation 5 中设置组件属性值
- r - 检测 R 中日常数据的季节性
- python-3.x - 如何根据熊猫中列的条件进行聚合?
- django - 如果提供了额外的字段,Django 使表单测试无效