Answer the question
In order to leave comments, you need to log in
How to update one element in an Array in Redux?
There is an array Messages .
messages = [
{
_id: "111",
text: "text1"
},
{
_id: "222",
text: "text2"
},
]
case UPDATE_MESSAGE:
let foundIndex = state.messages.findIndex(message => message ._id == payload._id);
state.messages[foundIndex] = payload;
return {
...state,
messages: [...state.messages]
};
Answer the question
In order to leave comments, you need to log in
case UPDATE_MESSAGE:
let foundIndex = state.messages.findIndex(message => message ._id == payload._id);
state.messages[foundIndex] = payload;
return {
...state,
messages: [...state.messages]
};
case UPDATE_MESSAGE:
let foundIndex = state.messages.findIndex(message => message ._id == payload._id);
const messages = state.messages[foundIndex].slice(); // .slice() создаст копию массива
messages[foundIndex] = payload;
return {
...state,
messages
};
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question