반응형
Firebase SnapShot.val()이 vuex의 데이터에 액세스하려고 할 때 null을 반환함
학생, 교직원, 교직원이 아닌 직원이 접근할 수 있는 어플리케이션을 만들고 있습니다.
내 폼 데이터는 다음과 같습니다.
formData: {
name: "",
email: "",
password: "",
select: null
},
options: ["Student", "Staff", "Non-Teaching Staff"],
물론 Vuex 스토어에서 사용자를 등록할 수 있습니다.
registerUsers({}, payload) {
firebaseAuth.createUserWithEmailAndPassword(payload.email, payload.password)
.then(res => {
const userId = firebaseAuth.currentUser.uid;
console.log(res)
Notify.create({
message: 'Regsitration Successful!.',
color: 'primary',
classes: 'quick'
})
//set student
firebaseDb.ref(`users/'${userId}`).set({
name: payload.name,
email: payload.email,
select: payload.select
});
})
.catch(err => {
console.log(err)
Notify.create({
message: `${err.message}`,
classes: 'quick',
color: 'negative'
})
})
또한 다음 사용자로 로그인 할 수 있습니다.
loginUsers({}, payload) {
firebaseAuth.signInWithEmailAndPassword(payload.email, payload.password)
.then(res => {
console.log(res);
Notify.create({
message: 'Success!',
classes: 'quick',
color: 'positive'
})
})
.catch(err => {
console.log();
Notify.create({
message: `${err.message}`,
classes: 'quick',
color: 'negative'
})
})
},
Probems는 다음과 같이 구성됩니다.
handleAuthStateChange() {
firebaseAuth.onAuthStateChanged(user => {
if (user) {
//set Student
const studentId = firebaseAuth.currentUser.uid;
console.log(studentId)
firebaseDb.ref(`users/${studentId}`).once('value', snapshot => {
console.log(snapshot.val())
})
}
})
},
콘솔에서 Snapshot.val()이 null을 반환합니다.
내가 뭘 잘못 쓰고 있는지 제발.
전화를 걸어보니firebaseDb.ref(`users/'${userId}`).set({...})
노드 아래에 사용자를 만듭니다.
users/'userId
(따옴표 1개 포함)'
).
그리고 당신은 그 노드를 읽으려고 한다.
users/userId
단일 인용문을 잘못 추가했다는 가정이 맞다면 존재하지 않습니다.
또, 할 필요가 없는 것에 주의해 주세요.
firebaseAuth.createUserWithEmailAndPassword(payload.email, payload.password)
.then(res => {
const userId = firebaseAuth.currentUser.uid;
//...
왜냐면createUserWithEmailAndPassword()
를 반환합니다.이러한 작업을 수행할 수 있습니다.
firebaseAuth.createUserWithEmailAndPassword(payload.email, payload.password)
.then(res => {
const userId = res.user.uid;
//...
또한 다음과 같은 작업을 수행할 수 있습니다.
handleAuthStateChange() {
firebaseAuth.onAuthStateChanged(user => {
if (user) {
const studentId = user.uid;
//......
언급URL : https://stackoverflow.com/questions/59986433/firebase-snapshot-val-returns-null-when-trying-to-access-data-in-vuex
반응형
'programing' 카테고리의 다른 글
구조 내 구성원의 순서가 중요합니까? (0) | 2022.08.30 |
---|---|
C 구조체의 기본값 (0) | 2022.08.30 |
String #equals 메서드와 String #contentEquals 메서드의 차이 (0) | 2022.08.30 |
off_t, size_t 등의 인쇄 방법은 무엇입니까? (0) | 2022.08.30 |
(Vue, ChartJS) 하위 구성 요소 캔버스 컨텍스트에서 차트의 그라데이션 배경 생성 (0) | 2022.08.30 |