У меня проблема с чатом на redux-саге и сокете io.Когда я быстро отправляю сообщение, приложение вылетает.
Мое действие
export function* createMessages(api, action) {
try {
const { roomId, content } = action;
const response = yield call(api.createMessage, roomId, content);
const { data } = response;
if (response.ok && data.success) {
yield put(ChatActions.createMessagesSuccess(data.result));
} else {
yield put(ChatActions.createMessagesFailure());
}
} catch (e) {
console.tron.display({
name: 'createMessages error',
preview: 'expand',
value: {
message: e.message,
e,
},
});
}
}
Мой редуктор
export const receiveMessage = (state, { data }) => state.merge({ messages: [].concat(data, state.messages), uid: data._id });
Мой сокет
socket.on('messages', (responseData) => {
switch (responseData.action) {
case 'receive':
emit(ChatDetailActions.receiveMessage(responseData.data));
break;
case 'typing':
break;
default:
break;
}
});
Как я могу решить эту проблему?Благодаря.