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
Copy file name to clipboardExpand all lines: src/content/7/es/part7f.md
+50-20Lines changed: 50 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ lang: es
7
7
8
8
<divclass="content">
9
9
10
-
Además de los ocho ejercicios en las secciones [React router](/es/part7/react_router) y [custom hooks](/es/part7/custom_hooks) de esta séptima parte del material del curso, hay 13 ejercicios que continúan nuestro trabajo en la aplicación Bloglist en la que trabajamos en las partes cuatro y cinco del material del curso. Algunos de los siguientes ejercicios son "características" que son independientes entre sí, lo que significa que no es necesario terminar los ejercicios en ningún orden en particular. Si lo desea, puede omitir una parte de los ejercicios.
10
+
Además de los ocho ejercicios en las secciones [React router](/es/part7/react_router) y [custom hooks](/es/part7/custom_hooks) de esta séptima parte del material del curso, hay 13 ejercicios que continúan nuestro trabajo en la aplicación Bloglist en la que trabajamos en las partes cuatro y cinco del material del curso. Algunos de los siguientes ejercicios son "características" que son independientes entre sí, lo que significa que no es necesario terminar los ejercicios en ningún orden en particular. Si lo desea, puede omitir una parte de los ejercicios. Muchos de los ejercicios son aplicar la técnica de gestión avanzada de estado (Redux, React Query y context) cubierta en la [parte 6](/es/part6).
11
11
12
12
Si no desea utilizar su propia aplicación Bloglist, puede utilizar el código de la solución modelo como punto de partida para estos ejercicios.
13
13
@@ -21,35 +21,69 @@ Un buen consejo para refactorizar y escribir código nuevo es dar <i>pequeños p
21
21
22
22
### Ejercicios 7.9.-7.21.
23
23
24
-
#### 7.9: redux, paso 1
24
+
#### 7.9: formateo automático de código
25
25
26
-
Refactorice la aplicación desde el uso del estado interno del componente React hasta el uso de Redux para la gestión del estado de la aplicación.
26
+
En las partes anteriores, usamos ESLint para asegurarnos de que el código siga las convenciones definidas. [Prettier](https://prettier.io/) es otra forma de hacer lo mismo. Según la documentación, Prettier es <i>un formateador de código opinativo</i>, es decir, Prettier no solo controla el estilo del código sino que también lo formatea de acuerdo con la definición.
27
27
28
-
Cambie las notificaciones de la aplicación para usar Redux en este punto del conjunto de ejercicios.
28
+
Prettier es fácil de integrar en el editor de código para que cuando se guarde el código, se formatee correctamente automáticamente.
29
29
30
-
#### 7.10: redux, paso 2
30
+
Tome Prettier para usarlo en su aplicación y configure para que funcione con su editor.
31
+
32
+
### Administración de estado: Redux
33
+
34
+
<i>Hay dos versiones alternativas para elegir para los ejercicios 7.10-7.13: puede hacer la administración de estado de la aplicación utilizando Redux o React Query y Context</i>. Si desea maximizar su aprendizaje, ¡debería hacer ambas versiones!
35
+
36
+
#### 7.10: Redux, paso 1
37
+
38
+
Refactorice la aplicación para usar Redux para administrar los datos de la notificación.
39
+
40
+
#### 7.11: Redux, paso 2
31
41
32
42
_Tenga en cuenta_ que este y los dos ejercicios siguientes son bastante laboriosos pero increíblemente educativos.
33
43
34
44
Almacene la información sobre publicaciones de blog en el store de Redux. En este ejercicio basta con que puedas ver los blogs en backend y crear un nuevo blog.
35
45
36
-
Puede administrar el estado para iniciar sesión y crear nuevas publicaciones de blog utilizando el estado interno de los componentes de React.
46
+
Eres libre de administrar el estado para iniciar sesión y crear nuevas publicaciones de blog utilizando el estado interno de los componentes de React.
37
47
38
-
#### 7.11: redux, paso 3
48
+
#### 7.12: Redux, paso 3
39
49
40
50
Amplíe su solución para que sea posible volver a dar me gusta y eliminar un blog.
41
51
42
-
#### 7.12: redux, paso 4
52
+
#### 7.13: Redux, paso 4
43
53
44
54
Almacene la información sobre el usuario que inició sesión en el store de Redux.
45
55
46
-
#### 7.13: Vista de usuarios
56
+
### Administración de estado: React Query y Context
57
+
58
+
<i>Hay dos versiones alternativas para elegir para los ejercicios 7.10-7.13: puede hacer la administración de estado de la aplicación utilizando Redux o React Query y Context</i>. Si desea maximizar su aprendizaje, ¡debería hacer ambas versiones!
59
+
60
+
#### 7.10: React Query y Context, paso 1
61
+
62
+
Refactorice la aplicación para usar React Query y Context para administrar los datos de la notificación.
63
+
64
+
#### 7.11: React Query y Context, paso 2
65
+
66
+
Utilice React Query y Context para administrar el estado de las publicaciones de blog. En este ejercicio basta con que puedas ver los blogs en backend y crear un nuevo blog.
67
+
68
+
Eres libre de administrar el estado para iniciar sesión y crear nuevas publicaciones de blog utilizando el estado interno de los componentes de React.
69
+
70
+
#### 7.12: React Query y Context, paso 3
71
+
72
+
Amplíe su solución para que sea posible volver a dar me gusta y eliminar un blog.
73
+
74
+
#### 7.13: React Query y Context, paso 4
75
+
76
+
Use el hook useReducer y context para administrar el estado de la información del usuario que inició sesión.
77
+
78
+
### Vistas
79
+
80
+
#### 7.14: Vista de usuarios
47
81
48
82
Implemente una vista en la aplicación que muestre toda la información básica relacionada con los usuarios:
49
83
50
84

51
85
52
-
#### 7.14: Vista de usuario individual
86
+
#### 7.15: Vista de usuario individual
53
87
54
88
Implemente una vista para usuarios individuales, que muestre todas las publicaciones de blog agregadas por ese usuario:
55
89
@@ -84,7 +118,7 @@ const User = () => {
84
118
}
85
119
```
86
120
87
-
#### 7.15: Vista de blog
121
+
#### 7.16: Vista de blog
88
122
89
123
Implemente una vista separada para las publicaciones de blog. Puede modelar el diseño de su vista con el siguiente ejemplo:
90
124
@@ -96,13 +130,13 @@ Los usuarios deberían poder acceder a la vista haciendo clic en el nombre de la
96
130
97
131
Una vez que haya terminado con este ejercicio, la funcionalidad que se implementó en el ejercicio 5.6 ya no es necesaria. Al hacer clic en una publicación de blog, ya no es necesario expandir el elemento en la lista y mostrar los detalles de la publicación de blog.
98
132
99
-
#### 7.16: Navegación
133
+
#### 7.17: Navegación
100
134
101
135
Implemente un menú de navegación para la aplicación:
102
136
103
137

104
138
105
-
#### 7.17: comentarios, paso 1
139
+
#### 7.18: comentarios, paso 1
106
140
107
141
Implemente la funcionalidad para comentar en publicaciones de blog:
108
142
@@ -114,24 +148,20 @@ En este ejercicio basta con que el frontend muestre solo los comentarios que rec
114
148
115
149
Un mecanismo apropiado para agregar comentarios a una publicación de blog sería una solicitud HTTP POST al endpoint <i>api/blogs/:id/comments</i>.
116
150
117
-
#### 7.18: comentarios, paso 2
151
+
#### 7.19: comentarios, paso 2
118
152
119
153
Amplíe su aplicación para que los usuarios puedan agregar comentarios a las publicaciones del blog desde el frontend:
120
154
121
155

122
156
123
-
#### 7.19: Estilos, paso 1
157
+
#### 7.20: Estilos, paso 1
124
158
125
159
Mejore la apariencia de su aplicación aplicando uno de los métodos que se muestran en el material del curso.
126
160
127
-
#### 7.20: Estilos, paso 2
161
+
#### 7.21: Estilos, paso 2
128
162
129
163
Puede marcar este ejercicio como finalizado si utiliza una hora o más para diseñar su aplicación.
130
164
131
-
#### 7.21: Comentarios del curso
132
-
133
-
¿Como lo hicimos? ¡Danos tu opinión sobre el curso en Moodle!
134
-
135
165
Este fue el último ejercicio de esta parte del curso y es hora de enviar el código a GitHub y marcar todos los ejercicios terminados en el [sistema de envío de ejercicios](https://studies.cs.helsinki.fi/stats/courses/fullstackopen).
0 commit comments