Редуктор реакции — Добавление элементов к существующему элементу

#reactjs #react-native #action #reducers

Вопрос:

я хочу, чтобы новые обновления постоянно добавлялись в «kanbanboard», но вместо этого старое значение будет подписано. введите описание изображения здесь

ДЕЙСТВИЕ-Функция

   export const editExpense = (id, updates) => ({
  type: "EDIT_EXPENSE",
  id,
  updates
});
 

РЕДУКТОР-ФУНКЦИЯ

 case "EDIT_EXPENSE":
  return state.map((expense) => {
    if (expense.id === action.id) {
      return {
        ...expense,
        kanbanboard:[{...action.updates}]
      };
    } else {
      return expense;
    };
  });
 

Спасибо вам за помощь.

Ответ №1:

Я не могу видеть весь редуктор, но похоже, что вы явно переопределяете старое значение. Измените его на:

 case "EDIT_EXPENSE":
  return state.map((expense) => {
    if (expense.id === action.id) {
      return {
        ...expense,
        kanbanboard:[
         ...expense.kanbanboard, // you have to add your old state here
         { 
           ...action.updates
        }]
      };
    } else {
      return expense;
    };
  });
 

Комментарии:

1. неплохо. Это Работает. Спасибо

2. Приятно слышать! Можете ли вы отметить вопрос как ответ.