Как изменить значение объекта передаваемого через props
Есть компонент MessageInput, в котором есть кнопка Send. При нажатии кнопки, в store (redux) передается другой компонент (OwnMessage) в компонент так же передаются пропсы. Кнопка Send:
const sendMessage = ()=>{
const time = new Date();
let hours = time.getHours();
let minutes = time.getMinutes();
const msgTime = `${hours}:${minutes}`;
let text = document.querySelector('.message-input-text');
const message = <OwnMessage text={text.value} time={msgTime} date={Date.now()}/>
dispatch(addMessageAction({message,msgTime}));
text.value = '';
}
Компонент OwnMessage сохраняется в store:

Пытался поменять значение так:
return {...state, messages: state.messages[i].props.text = 'asd'}
Как я могу изменить значение text, которое передается через props?
Ответы (1 шт):
Автор решения: SiRanWeb
→ Ссылка
Все пропсы иммутабельны, т.е. они не должны меняться. Это правило React'a. В твоем случае могу лишь посоветовать хранить в сторе не сам компонент (что само по себе уже немного странно), а данные, которые в этот компонент передаются. И в следующий раз просто доставать из стора все что нам надо и опрокидывать в требуемый компонент.
