You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -50,10 +50,11 @@ Podemos acceder desde el navegador, que por defecto hace peticiones GET, y visua
50
50
Para crear datos, necesitamos usar POST. No podemos usar el navegador, pero podemos usar un cliente como `curl`:
51
51
52
52
!!! example
53
-
Crear un nuevo contador
53
+
Vamos a crear un par de contadores
54
54
55
55
```shell
56
-
curl -X POST http://localhost:4000/counters --json '{"value": 0}'
56
+
curl -X POST http://localhost:4000/counters --json '{"id": "2", "value": 0}'
57
+
curl -X POST http://localhost:4000/counters --json '{"id": "3", "value": -10}'
57
58
```
58
59
59
60
Para actualizar datos, tendremos que usar la url del contador. Dependiendo del servidor, deberemos usar POST, PUT o PATCH.
@@ -71,83 +72,130 @@ Para actualizar datos, tendremos que usar la url del contador. Dependiendo del s
71
72
curl -X PUT http://localhost:4000/counters/2 --json '{"value": 10}'
72
73
```
73
74
75
+
Podemos ver ahora que deberíamos tener tres contadores:
76
+
77
+
```shell
78
+
curl -X GET http://localhost:4000/counters
79
+
```
80
+
74
81
## Accediendo a los datos del servidor desde React
75
82
76
83
Para manejar las solicitudes HTTP de manera efectiva y eficiente en React, podemos utilizar la combinación de Axios para realizar las peticiones y la librería SWR para el fetching y caching de datos. Esto nos permite crear aplicaciones más rápidas y con mejor respuesta al usuario.
77
84
78
-
### Instalación de Axios y SWR
85
+
### Instalación de SWR
79
86
80
-
Primero, necesitas instalar `axios` para manejar las peticiones HTTP y `swr` para el manejo de datos. Ejecuta el siguiente comando en tu terminal para instalar ambas librerías:
87
+
Primero, instala `swr`, que nos ayudará con el fetching, el cacheo y la revalidación de datos. Ejecuta el siguiente comando en tu terminal:
81
88
82
89
```shell
83
-
npm add axios swr
90
+
npm add swr
84
91
```
85
92
86
-
Para simplificar las peticiones HTTP y establecer una URL base para todas las llamadas, configura un cliente Axios. Crea un archivo en src/utils/fetcher.ts y define tu cliente Axios y una función fetcher que utilizará SWR para hacer las peticiones.
93
+
Para simplificar las peticiones HTTP vamos a centralizar la URL base del servicio y una función `fetcher` que reutilizaremos desde SWR. Crea el archivo `src/utils/fetcher.ts` con el siguiente contenido.
Una vez que tienes tu función fetcher definida, puedes usarla con SWR en tus componentes React para acceder a los datos del servidor. SWR manejará automáticamente el caching, la revalidación, y otras optimizaciones.
114
+
Una vez que tienes tu función fetcher definida, puedes usarla con SWR en tus componentes React para acceder a los datos del servidor. SWR manejará automáticamente el caching, la revalidación y otras optimizaciones. Para mantener el ejemplo ordenado, vamos a separar la lógica en un servicio y un hook reutilizable antes de llegar al componente.
Dentro del hook reaprovechamos la misma función `onIncrement` para sumar o restar valores, pasando números negativos cuando queremos decrementar. Así evitamos duplicar lógica y mantenemos el ejemplo centrado en un único flujo de mutación: llamar al endpoint con el nuevo valor y refrescar la caché de SWR.
0 commit comments