socket-io: при отправке сообщения, как отобразить сообщение / уведомление корневому компоненту / из комнаты чата?

#node.js #reactjs #sockets #websocket #socket.io

#node.js #reactjs #сокеты #websocket #socket.io

Вопрос:

В моем приложении для чата, когда в комнате чата отправляется сообщение, я хочу отобразить сообщение / тостер корневому компоненту, чтобы человек, который находится вне комнаты чата, получил уведомление.

  useEffect(() => {
    const token = localStorage.getItem('CC_Token');
    if (token) {
      const payload = JSON.parse(atob(token.split('.')[1]));
      setUserId(payload.id);
    }
    if (socket) {
      socket.on('newMessage', (message) => {
        const newMessages = [...messages, message];
        setMessages(newMessages);
      });
    }
    //eslint-disable-next-line
  }, [messages, socket]);
 

что я пытался, так это отправить действие и попытался обновить хранилище redux.
но проблема в том, что reducer не вызывается.

Каков наилучший подход для достижения этой цели

Комментарии:

1. Для этого вы можете использовать контекст .

2. Я это сделал. но редуктор не вызывается.