Действие Redux удваивает «включенные» события сокета - PullRequest
0 голосов
/ 15 мая 2019

У меня есть приложение, написанное на Reactjs и Redux. С axios он работает хорошо, но я бы хотел использовать socket.io, так что в режиме redux в try:

export const getOne = (id) => async dispatch => {
  socket.emit('getOne', id);

  console.log('test');

  socket.on('get', function(msg) {
    console.log(msg);
    dispatch({ type: GET, payload: msg });
  });
};

Если я вызываю это действие в первый раз, все работает хорошо - генерируется сокет, при возврате функции верните мне правильное msg, а console.log вернет «test», но если я снова вызову эту функцию, то console.log вызывается как единое ( это нормально) но к сожалению "socket.on" вызывается два раза. Затем, если я нажму, функция «socket.on» будет вызвана три раза и т. Д. *

Когда я должен поставить свою функцию socket.on('get', function(msg)? Или что я могу сделать с этим вопросом?

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