diff --git a/src/redux/messages/sagas.ts b/src/redux/messages/sagas.ts index 4cc9b5d8..91a8e80b 100644 --- a/src/redux/messages/sagas.ts +++ b/src/redux/messages/sagas.ts @@ -82,12 +82,23 @@ function* sendMessage({ message, onSuccess }: ReturnType = yield select(selectMessages); - yield put( - messagesSet({ - is_sending_messages: false, - messages: [data.message, ...messages], - }) - ); + if (message.id > 0) { + // modified + yield put( + messagesSet({ + is_sending_messages: false, + messages: messages.map(item => (item.id === message.id ? data.message : item)), + }) + ); + } else { + // created + yield put( + messagesSet({ + is_sending_messages: false, + messages: [data.message, ...messages], + }) + ); + } onSuccess(); }