@gemajane

Зависимость полей в дереве состояния в redux, как убрать?

Делаю первые шаги в ReactJS,Redux и не могу понять почему изменения одного объекта в дереве состояния изменяет другой объект, хотя в action creators это не прописано. У меня есть таблица с данными,которая получает данные методом fetch, потом я выделяю строку и вызываю форму редактирования. Вопрос почему изменение данных в форме, меняет строку в таблице???
84ff4a6d3ac24b838c8dd3b83d6e7c6c.pnga16acfc1907e4e77a21870de74b8c74b.png2b9d2d3023144b0eb3f087ea8ba11676.png
Actions creators
.........
export function setRowEditable(row) {
    return {
        type: SET_ROW_EDITABLE,
        rowEditable: row
    }
}
export function changeRowEditable(fieldName, newValue) {
    return (dispatch, getState)=> {
        let rowEditable = getState().myForm.rowEditable
        rowEditable[fieldName] = newValue
        dispatch(setRowEditable(rowEditable))
    }
}

Reducer
export default function myModal(state = initialState, action) {
    switch (action.type) {
...........
         case SET_ROW_EDITABLE:
            return {...state, rowEditable: action.rowEditable}  
        default:
            return state
    }
}
  • Вопрос задан
  • 217 просмотров
Решения вопроса 1
miraage
@miraage
Старый прогер
let rowEditable = getState().myForm.rowEditable
rowEditable[fieldName] = newValue


А ничего страшного, что Вы нарушаете главные принципы Redux - мутируете состояние?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы