16) Haciendo un HTTP request con react
Last updated
Last updated
La primera pregunta que surge es ¿dónde y cómo hago los llamados AJAX? Respondamos esa pregunta.
Primero que nada aclarar que react no tiene una forma especial de hacer llamadas AJAX.
React ni siquiera se enterará que vamos a hacer un llamado AJAX, no es una de sus responsabilidades. Simplemente renderiza elementos a partir de data, que se dividen en props y state.
Teniendo en cuenta esto, si necesitamos que nuestra aplicación utilice datos obtenidos desde una API, necesitamos obtener esos datos y pasarlos a los componentes vía state o props.
Ya que react no se encarga de hacer llamados HTTP necesitaremos una librería para hacerlos. Existen muchas opciones, veamos algunas de las más populares:
(es el standard y no es necesario instalar nada, es soportada por los navegadores)
En nuestro caso vamos usar fetch porque es soportada por los navegadores sin necesidad de agregar ninguna dependencia, pero sientete libre de utilizar la que más te guste.
Ahora que entendimos hasta dónde va la responsabilidad de react para los llamados AJAX, hagamos un ejemplo en donde traigamos data desde una API y la rendericemos en un componente.
Analicemos el código. Primero que nada podemos ver que en el constructor inicializamos el state, dónde guardaremos los datos que obtendremos desde la API.
Por último, luego de obtener los datos hacemos un setState para actualizar la interfaz.
Llevemos esto a la práctica:
En el ejemplo utilizaremos la para obtener el nombre y el país de nuestro usuario.
En el componentDidMount es donde ocurre todo. Cómo vimos en secciones anteriores este método se ejecuta cuando se termine de montar el componente por primera vez(sólo se ejecuta una vez), es por eso que es un buen momento para hacer nuestros llamados AJAX. Allí usamos la para obtener los datos de nuestro usuario de github.