【发布时间】:2018-12-28 09:07:35
【问题描述】:
需要在newcomment['comments/'+id] = {id,comment,email,date} 中使用email = user.email,但我不能使用email = yield user.email 或yield auth.onAuthStateChanged(user => {email = user.email}),并且电子邮件在newcomment 中被归为null。我该怎么做?
export function* createComments(action){
let email = null
try{
auth.onAuthStateChanged(user => {
email = user.email
})
const id = yield database.ref().child("comments").push().key
let date = new Date()
date = yield date.getDate()+"/"+(date.getMonth()+1)+"/"+date.getFullYear()
const newcomment = {}
const comment = action.comment
newcomment['comments/'+id] = {
id,
comment,
email,
date
}
database.ref().update(newcomment)
yield put(ActionCreator.createCommentsSuccess(newcomment))
}catch({message}){
yield put(ActionCreator.createCommentsFailure(message))
}
}
【问题讨论】:
标签: javascript reactjs firebase-realtime-database redux redux-saga