添加好友请求通知

时间:2018-03-04 02:55:59

标签: node.js mongodb reactjs socket.io notifications

我正在努力在我的网站中添加好友功能。我的技术堆栈是reactjs,nodejs,socket.io和mongodb。我允许用户点击添加好友按钮,我将以下信息存储到DB。即,请求者,接收者和身份。

现在我想向收件人发送关于好友请求的通知,并且我在服务器端使用socket.io,在客户端使用socket.io-client。

要发送通知,我在添加好友请求动作调用后在我的组件中发出套接字

let data = {}
data.loginId = loginId;
data.friendId = friendId;
this.props.submitFriendRequest(data)
socketClient.emit('new friend request', data);

现在,在服务器端,我正在收听该事件并发送带有信息的新事件

socket.on('new friend request', (friend) => {
  io.sockets.emit('new friend', friend);
});

在客户端,我正在收听新朋友事件和呈现通知

socketClient.on('new friend', (data) => {
//below I am checking current loginId and the recipient id are some and if so I am showing the notification      
if(this.props.loginId==data.friendId){
      this.setState({
        notifications: data
      })
    }
});

但是我可以在用户当前登录时向收件人显示通知,但问题是它只显示一次,如果收件人刷新页面,则通知正在消失。此外,如果收件人退出并重新登录,则不会显示通知。

我不知道如何收听该事件并显示通知,直到收件人接受或拒绝该朋友请求为止。如果收件人没有看到该通知,那么每当他/她登录或刷新页面时,通知都必须在那里。

我是socket.io的新手。

0 个答案:

没有答案