Uso de Fetch API para Interactuar con Servidores HTTP
Clase 30 de 38 • Curso Básico de Vue.js 2
Contenido del curso
- 4

Renderizado Declarativo en JavaScript: Estado y Vista Sincronizados
02:09 - 5

Uso de Expresiones JavaScript en Plantillas de Vue.js
02:06 - 6

Directivas para Atributos Dinámicos en HTML con Vue.js
06:44 - 7

Directivas de Renderizado Condicional en HTML con Vue.js
05:02 - 8

Uso de la Directiva v-for en Vue.js para Renderizar Listas
05:48 - 9

Manejo de Eventos en Vue.js: Click y Mouseover
07:04 - 10

Condiciones y Clases Dinámicas en Vue.js
06:46 - 11

Estilos Dinámicos en JavaScript: Cambios de Color Interactivos
02:49 - 12

Propiedades Computadas y Watchers en Vue.js
05:42 - 13

Interacción dinámica con formularios y directivas en Vue.js
03:34 - 14
"Crear un Tracker de Cursos con Vue.js"
00:45
- 15

Sistema de Componentes en Fren Word: Modularización y Reutilización
02:54 - 16

Creación de Componentes Personalizados en Vue.js
06:44 - 17

Comunicación entre Componentes en Vue.js: Props y Data Binding
17:28 - 18

Comunicación entre Componentes en Vue: Emisión y Manejo de Eventos
06:17 - 19

Uso de Slots para Inyectar HTML en Componentes Hijos
04:18 - 20

Ciclo de Vida de Componentes en Vue.js
03:40 - 21

Componentes de Vue: Creación y Gestión Eficiente
01:23 - 22
Componente Modal y Componente Principal en Vue.js
00:44
- 27

Instalación y configuración de Tailwind CSS en proyectos HTML
06:40 - 28

Creación y Gestión de Componentes VUE en Proyectos Web
12:02 - 29

Creación de Aplicaciones SPA con Vue Router
15:37 - 30

Uso de Fetch API para Interactuar con Servidores HTTP
15:45 - 31

Filtros y Directivas para Mejorar Interfaces en JavaScript
09:33 - 32

Creación de Rutas Dinámicas en Vue.js para Criptomonedas
21:36 - 33

Navegación Dinámica y Programática en Vue.js
12:23 - 34

Integración de Componentes de Terceros en Proyectos Vue.js
12:01 - 35

Manejo de Problemas de Reactividad en Vue.js
17:44 - 36

Filtros y Ordenamiento en Tablas de Datos con JavaScript
11:25 - 37

Implementación de Rutas Dinámicas y Conversor de Criptomonedas en Vue.js
13:38
¿Qué es Fetch y cómo se utiliza?
En el ámbito de la programación web, el uso de APIs para interactuar con servidores y recuperar datos es fundamental. Una de las herramientas más valiosas en este entorno es fetch, una funcionalidad moderna y ampliamente soportada por casi todos los navegadores.
Fetch permite realizar solicitudes HTTP de una manera sencilla y eficiente sin depender de librerías externas. Esto resulta ideal para proyectos que buscan mantener una estructura ligera y eficiente.
¿Cómo funciona Fetch en la API CoinCap?
Para ejemplificar el uso de fetch, vamos a crear una implementación que interactúe con la API de CoinCap. Este servicio permite acceder a diversas características relacionadas con criptomonedas, como obtener listas de activos, leer sus detalles, y más. En nuestro proyecto, crearemos una función que obtenga una lista de criptomonedas utilizando fetch.
// Definimos la URL base de la API
const apiUrl = 'https://api.coincap.io/v2';
// Función para obtener una lista de criptomonedas
async function getAssets() {
const response = await fetch(`${apiUrl}/assets?limit=20`);
const data = await response.json();
return data.data; // Devolveremos los datos de las criptomonedas
}
Este código realiza una solicitud a la API para obtener un máximo de veinte activos. El uso de template strings facilita la construcción dinámica de URLs, permitiendo personalizar las solicitudes según las necesidades del proyecto.
¿Cómo integrar Fetch en componentes Vue?
Una vez obtenidos los datos de la API, el siguiente paso es integrarlos en un componente de Vue.js. Para ello, primero debemos importar la función que accede a la API y luego almacenar los datos en una propiedad del estado del componente.
import { getAssets } from '@/api'; // Importamos la función previamente definida
export default {
data() {
return {
assets: [] // Propiedad para almacenar los activos
};
},
async created() {
this.assets = await getAssets(); // Asignamos los datos obtenidos al cargar el componente
}
}
Este patrón permite que, al montarse el componente en la interfaz, automáticamente acceda a la API de CoinCap, obtenga los datos, y los almacene para ser utilizados en la vista.
¿Cómo renderizar datos en una tabla usando Vue?
Para visualizar los datos obtenidos, usaremos directivas como v-for en las plantillas de Vue para renderizar cada criptomoneda en una tabla. Esta técnica es eficiente y permite manejar grandes volúmenes de datos de manera ordenada.
<table>
<thead>
<tr>
<th>Imagen</th>
<th>Nombre</th>
<th>Precio</th>
<th>Rango</th>
<th>Variación</th>
</tr>
</thead>
<tbody>
<tr v-for="asset in assets" :key="asset.id">
<td><img :src="`https://api.coincap.io/assets/icons/${asset.symbol.toLowerCase()}@2x.png`" :alt="asset.name" /></td>
<td>{{ asset.name }}</td>
<td>${{ asset.priceUsd }}</td>
<td>{{ asset.rank }}</td>
<td>{{ asset.changePercent24Hr }}%</td>
</tr>
</tbody>
</table>
Con este enfoque, cada criptomoneda se presenta con su imagen, nombre, precio, rango y variación en 24 horas. La estructura es clara y bien organizada, lo que facilita el manejo de los datos en la interfaz.
¿Cómo optimizar el desarrollo con ESLint y Prettier?
Para garantizar un código limpio y mantenible, herramientas como ESLint y Prettier son indispensables. Estas permiten estandarizar el estilo de código y corregir errores automáticamente. Se configura un archivo .prettierrc para establecer las reglas preferidas.
{
"semi": false,
"singleQuote": true
}
Con esto, podemos personalizar aspectos como el uso de comillas simples y la eliminación de punto y coma, alineando el proyecto con nuestras preferencias estilísticas.
Al final de esta guía, has aprendido a trabajar de manera eficiente con fetch, integrando datos en componentes Vue, y asegurando calidad de código con herramientas de linters. Sigue explorando y experimentando con estas metodologías para desarrollar aplicaciones robustas y dinámicas. ¡Tu curiosidad y dedicación son tus mejores aliados en el aprendizaje!