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
i want to show button as Unfriend if the user selected is already a friend.Iam trying to use a map function to find if the user is already a friend.but the map function is shown as error
2
Answers
Looks to me like
currentUser
is defined but doesn’t have a propertycurrrentUser.friends
.Try
currentUser?.friends?.map(...)
And change the
else
clause to always return instead. Ifreturn setFriend(true)
was called, thereturn friend(false)
won’t be called, but in all other cases.Since you have the if statement we already know that currentUser exists you will have to see if the currentUser have friends.
However map should be used to create a new array, you use it to iterate over friends. You could simplify the whole useEffect with
some
insteadIf currentUser is a value and a friend have the same id as currentProfile