TransWikia.com

Cómo setear el state con un array?

Stack Overflow en español Asked on November 13, 2021

estoy intentando recuperar información desde el back end mediante axios. La idea es obener el array donde tengo las regiones de mi país, para mas tarde enviarlas a un select, sin embargo no logro setear el array a mi state.

En el primer console.log imprimo la data obtenido con axios para juego hacer setRegiones(res.data.regiones)

aqui seteo el state

One Answer

Estás tratando de incorporar nuevos datos en el "state" de la aplicación. Esto se considera un "side effect" (efecto secundario).

Si estás utilizando componentes funcionales (en vez de componentes Clase), los efectos secundarios deben realizarse dentro de él hook useEffect:

import React from "react";
import axios from "axios";


const obtenerRegiones = async () => {
  try {
    return await axios.get("https://some-api-url.com/regions");
  } catch (error) {
    console.error(error);
  }
};

function App() {
  const [regions, setRegions] = React.useState([]);

  React.useEffect(() => {
    obtenerRegiones()
      .then(results => setRegions(results))
  }, []);

  return <div>{JSON.stringify(regions)}</div>;
}

export default App;

Answered by Juan Marco on November 13, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP