Реагирование — встроенные множественные действия с уменьшением и уменьшением скорости

#react-native #redux

#react-встроенные #уменьшение

Вопрос:

Я новичок в react и пытаюсь реализовать redux / redux-thunk для асинхронного вызова api. У меня есть 5 разделов, и я хочу вызвать 5 разных API. Моя проблема в том, что в состоянии props я могу получить только одни, последние выполненные данные api, нужно ли мне создавать несколько редукторов или мне нужно объединить данные в один объект?

 const mapStateToProps = (state) => ({
    isLoading: state.serviceReducer.isLoading,
    error: state.serviceReducer.error,
    data: state.serviceReducer.data,
    UserMaster: state.UserMasterReducer
  });
function mapDispatchToProps(dispatch) {
    return {
        updateUserMaster: (data) => dispatch({ type: 'UPDATE_USER_MASTER', payload: data }),
        ApiService1:  (url,payload,id) => dispatch(ApiService(url,payload,id)),
        ApiService2:  (url,payload,id) => dispatch(ApiService(url,payload,id)),
    }
}
  

Редуктор.

 import * as Actions from '../action/ActionTypes'

const ServiceReducer = (state = { isLoading: false, error: undefined, data: {}, ActionId: undefined }, action) => {
    switch (action.type) {
        case Actions.SERVICE_PENDING:
            return Object.assign({}, state, {
                isLoading: true,
                ActionId:action.id
            });
        case Actions.SERVICE_ERROR:
            return Object.assign({}, state, {
                isLoading: false,
                error: action.error,
                ActionId:action.id
            });
        case Actions.SERVICE_SUCCESS:
            return Object.assign({}, state, {
                isLoading: false,
                data: action.data,
                ActionId:action.id
            }); 
        default:
            return state;
    }
}

export default ServiceReducer;
  

Экшен

 export const serviceActionPending = (id) => ({
    type: ActionTypes.SERVICE_PENDING,
    id:id
})

export const serviceActionError = (error,id) => ({
    type: ActionTypes.SERVICE_ERROR,
    error: error,
    id:id
})

export const serviceActionSuccess = (data,id) => ({
    type: ActionTypes.SERVICE_SUCCESS,
    data: data,
    id:id
})
  

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

1. Что вы подразумеваете под моей проблемой — в состоянии props я могу получить только одни, последние выполненные данные api ??

2. @Он я имею в виду данные mapStateToProps: state.serviceReducer.data’. из componentdidmount я могу вызвать 5 API, но где обрабатывать данные