From 5e85ae2aee7e166e55a74f393e5543a6b9fecc8e Mon Sep 17 00:00:00 2001 From: Fedor Katurov Date: Tue, 8 Sep 2020 11:58:19 +0700 Subject: [PATCH] replacing message if modifying it --- src/redux/messages/sagas.ts | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) 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(); }