Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

280
Vistas
no se puede guardar en el estado de reacción de la matriz a partir de la respuesta del servidor

Hola, estoy tratando de guardar mi respuesta. datos en el estado de reacción de mi matriz, pero nunca almacena la matriz correcta, pero cuando hago una matriz temporal, funciona.

¡Cualquier ayuda será apreciada, gracias!

 const [allstudentlist, setAllStudentlist] = useState([]); await Axios.post(currentUrl, params).then((res) => { // if res.data[0][] // if res data is there then ; if (res.data["error"]) { alert(res.data["error"]); } else { // alert("Register Successful"); // console.log(res.data[0]); console.log(res.data); // works let temp = res.data; setAllStudentlist(...temp); // works console.log(temp); // returns an empty array console.log(allstudentlist); } });

Datos de respuesta

datos de respuesta

Traté de probar también con una API falsa, pero parece que hay un problema con la configuración de matrices en reacción

Traté de probar con codeSandbox también con una API falsa y no funciona

 import "./styles.css"; import React, { Component, useState, useEffect } from "react"; import Axios from "axios"; export default function App() { const [array2, setArray] = useState([]); function handleClick() { Axios.get("https://finalspaceapi.com/api/v0/character/?limit=2").then( function (response) { console.log(response.data); setArray(response.data); console.log(array2); } ); } return ( <div className="App"> <h1>Hello CodeSandbox</h1> <h2>Start editing to see some magic happen!</h2> <button onClick={handleClick}></button> </div> ); }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

No puede ver los valores actualizados justo después del estado establecido, ya que es una función asíncrona. La forma en que estableces los valores está bien. Mueva el registro de la consola;

Fuera de handleClick

 function handleClick() { Axios.get("https://finalspaceapi.com/api/v0/character/?limit=2").then( function (response) { console.log(response.data); setArray(response.data); } ); } console.log(array2);

O

Guárdelo dentro de un useEffect con una dependencia

 useEffect(() => { console.log(array2); }, [array2]);
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda