useEffect(() => {
if(currentUser){
currentUser?.friends.map(friends => {
if(friends._id===currentProfile._id){
return setFriend(true)
}
})
}else{
return setFriend(false)
}
},[currentUser,currentProfile])
//currentUser is the user logged in
//currentProfile is user selected
如果选定的用户已经是朋友,我想将按钮显示为取消朋友。我正在尝试使用Map函数查找用户是否已经是朋友。但Map函数显示为错误
2条答案
按热度按时间j2cgzkjk1#
在我看来,
currentUser
已定义,但没有属性currrentUser.friends
。请尝试currentUser?.friends?.map(...)
并将
else
子句改为always return,如果调用了return setFriend(true)
,则不会调用return friend(false)
,但在所有其他情况下都会调用。xqnpmsa82#
因为你有if语句,我们已经知道currentUser存在,所以你必须看看currentUser是否有朋友。然而map应该被用来创建一个新数组,你用它来迭代朋友。你可以用
some
来简化整个useEffect如果currentUser是一个值,并且朋友与currentProfile具有相同的ID