Как перебрать Объект массивов из axios - PullRequest
0 голосов
/ 15 апреля 2020

есть некоторые понятия, которые я не понимаю.

Я научился манипулировать объектами, но когда это происходит, особенно от топора ios, я не могу его получить.

Вот как я я получаю свои данные.

//Cargamos las operaciones desde la Base de datos: 
fetchData = () => {
  axios.defaults.xsrfHeaderName = "X-CSRFTOKEN";
  axios.defaults.xsrfCookieName = "csrftoken";
  axios.defaults.headers = {
    "Content-Type": "application/json",
    Authorization: `Token ${this.props.token}`,
  };
  axios.get("http://192.168.196.49:8000/proveedores/api/operaciones/").then(
    res => this.setState({ DataFromApiTemp: res.data}));

    };





console.log("Datos de API: ", this.state.DataFromApiTemp)
console.log("Datos de API: ", typeof this.state.DataFromApiTemp)

enter image description here

Проблема в том, что я не могу сделать это так:

const pruebas = [
  {
    estado: 'En curso',
    fecha_compra: '2019-09-10',
    proveedor: 'GDAX',
    importe: 25,
    precio_compra: 9241.60,
  },
  {
    estado: 'En curso',
    fecha_compra: '2019-09-10',
    proveedor: 'GDAX',
    importe: 50,
    precio_compra: 9056.00,
  },

]

console.log("Typeof prueba=>", typeof pruebas)

for (let i = 0; i < pruebas.length; i++ ){
  if(pruebas[i].estado == "En curso"){
  console.log("hay", i)
}
}

for (const [key, value] of Object.entries(pruebas)){
  console.log("key =>", key, "value =>", value.estado);
}

Чего мне не хватает для итерации с этим объектом?

1 Ответ

1 голос
/ 15 апреля 2020

try:

pruebas.forEach((value, key) => {

    console.log("key =>", key, "value =>", value.estado);
});

Также ax ios является асинхронным, поэтому убедитесь, что по умолчанию this.state.DataFromApiTemp указан пустой массив. так что если перед загрузкой данных происходит рендеринг. он не будет ничего записывать вместо сбоя

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...