【发布时间】:2020-04-30 04:17:18
【问题描述】:
提前非常感谢您的帮助。基本上,我正在尝试编写允许用户将朋友添加到他们的“朋友列表”的代码。
这是我现在的 addFriend 函数:
export function addFriend(userID, friendID) {
ourDB.ref(`users/${userID}/Friends`).on('value', (snapshot) => {
var Friends = snapshot.val();
console.log(userID)
console.log("what up")
console.log("type" + typeof Friends)
console.log(Friends)
//console.log(typeof Friends)
//console.log(Friends.Friends)
if(Friends && Friends.Friends){
Friends.Friends.push(friendID);
}
else {
Friends = {Friends: [friendID]}
}
ourDB.ref(`users/${userID}`).child('Friends').set({
Friends
})
});
不幸的是,当我从 Friends.push 开始纱线时,该功能出错。我收到消息:“TypeError:Friends.Friends.push 不是函数”
我不太确定为什么会发生这种情况,但基本上 typeof Friends 是对象并包含 {Friends: Array(1)} 一个我硬编码的朋友。
另外,这里是控制台的输出:
G7dCfxkE6rSt3RoZMmt4bpCt6rS2(当前用户ID/我登录的ID) 怎么了 类型对象 {朋友:数组(1)}
非常感谢!!
【问题讨论】:
-
我相信您将
Friends实例化为快照的值,它可能是也可能不是数组,对吗?您是否尝试过在空检查中将条件更改为if ( Friends !== null && Array.isArray(Friends) )? -
嗨!非常感谢乔尔——我试过了,但它不允许我再进入页面
标签: javascript reactjs firebase firebase-realtime-database