Когда я получаю массив с одним (!) Элементом, я вижу тип значения вместо самого значения - PullRequest
0 голосов
/ 06 мая 2020

Я использую Ax ios в моем проекте.

Когда я пытаюсь получить массив, все в порядке, но не тогда, когда я запрашиваю только один элемент - в этом случае я получаю все значения как типы этих значений.

Это когда у меня есть один элемент в массиве ↓

enter image description here

Когда у меня больше чем один элемент в массиве (так и должно работать) ↓

enter image description here

Кто-нибудь раньше сталкивался с такой проблемой?

init. js:


import axios from 'axios';

let api = null;

function getInitializedApi() {
  if (api) return api;
  const apiURL = getBaseUrl();

  api = axios.create({
    timeout: 60000,
    withCredentials: true,
    baseURL: apiURL,
    responseType: 'json',
  });

  api.interceptors.response.use(undefined, (error) => {
    if (error.response && error.response.status === 401) {
      return Promise.reject(null);
    }

    return Promise.reject(error.response.data);
  });

  return api;
}

function getBaseUrl() {
  return process.env.REACT_APP_API_URL;
}

export default getInitializedApi();

Контейнер. js

import api from '../api';
...

const mapDispatchToProps = (dispatch) => ({
  getCaselist: async (filter, sorting, page) => {
    dispatch(actions.caselist.get.list.request());
    try {
      const { status, data, error } = await api.caselist.getList(
        filter,
        sorting,
        page
      );
      console.log(data); //That's where I get the issue
      // eslint-disable-next-line
      if (status == 200) {
        const formattedData = makeTableData('caselist', data.data);
        formattedData.columns.forEach((column) => {
          column.editable = false;

          switch (column.accessor) {
            case 'patientId':
              column.show = false;
              break;
            case 'id':
              column.show = false;
              break;
            default:
              column.show = true;
          }
        });
        dispatch(actions.caselist.get.list.success(formattedData));
        dispatch(actions.caselist.set.page(data.page));
        dispatch(actions.caselist.set.filter(data.filter));
        dispatch(actions.caselist.set.sorting(data.sorting));
      } else {
        dispatch(actions.caselist.get.list.failure(error));
      }
    } catch (error) {
      dispatch(actions.caselist.get.list.failure(error));
    }
  },



});

...