如何更新减速机的状态?

问题描述 投票:0回答:1

我想在执行ACTIVITIES_SEND_SUCCESS时通过将新数据附加到对象的活动数据末尾来更新activitiesData的状态。

ActivitiesReducer.js

import {
  ACTIVITIES_FETCH_SUCCESS,
  ACTIVITIES_SEND_SUCCESS,
  SUBACTIVITY_SEND_SUCCESS
} from '../actions/types';

const INITIAL_STATE = { activitiesData: {}, activityCreated: {}, listActivity: {} };

export default (state = INITIAL_STATE, action) => {
  switch (action.type) {
    case ACTIVITIES_FETCH_SUCCESS:
      return { ...state, activitiesData: action.payload };
    case ACTIVITIES_SEND_SUCCESS:
      return { ...state, activityCreated: action.payload };
      case SUBACTIVITY_SEND_SUCCESS:
      return { ...state, listActivity: action.payload };
    default:
      return state;
  }
};
reactjs react-native redux react-redux reducers
1个回答
0
投票

您可以使用spread operator syntax附加数据

export default (state = INITIAL_STATE, action) => {
  switch (action.type) {
    case ACTIVITIES_FETCH_SUCCESS:
      return { ...state, activitiesData: action.payload };
    case ACTIVITIES_SEND_SUCCESS:
      return { ...state, activityCreated: action.payload, activitiesData: {...state.activitesData, ...action.payload }  };
      case SUBACTIVITY_SEND_SUCCESS:
      return { ...state, listActivity: action.payload};
    default:
      return state;
  }
};
© www.soinside.com 2019 - 2024. All rights reserved.