Я построил api, который возвращает мне единицы, которые я зарегистрировал в БД, но при попытке вернуть их не просматривают
import React, { Component } from 'react';
import axios from 'axios';
const api = {
units: () => {
axios.get('http://192.168.0.23/api/public/api/units')
.then(response => {
console.log(response);
return response.data.data
}).catch((error) => {
console.log(error.message)
});
return 'Error'
},
};
export default api;
Ответ отображает данные правильно, response.data.data
, если он используется в файле с классом I, можно установить состояние units = []
и с setState
вернуть единицы
Однако я хотел бы создать этот файл для возвратов api, однако, поскольку я не использую класс, поэтому понимаю, что я не могу использовать состояние.
Есть ли способ без класса, возвращающего эти данные, или сохранения в переменной или что-то в этом роде?
Или используйте setState
прямо здесь без класса?
Я считаю, что это будут способы решения моей проблемы, но если кто-то другой знает иначе, чем положить api-вызов в тот же файл, что и последний класс.
Я тоже пробовал:
async function getUnits() {
return await axios.get('http://192.168.0.23/api/public/api/units');
}
getUnits.then((response) => {
console.log(response);
return response.data.data
}).catch((response) => {
console.log(response)
});
Но ошибка показала, что getUnits.then is not a function
Даже с нормальной функцией не работает:
function units() {
axios.get('http://192.168.0.23/api/public/api/units')
.then(response => {
console.log(response);
return response.data.data
}).catch((error) => {
console.log(error.message)
});
return 'Error'
};