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
Si alguna acción en la aplicación, por ejemplo presionar un botón, provoca la necesidad de cambiar el estado, el cambio se realiza con una acción. Esto hace que vuelva a renderizar la vista:

26
26
27
27
Flux ofrece una forma estándar de cómo y dónde se mantiene el estado de la aplicación y cómo se modifica.
28
28
@@ -118,7 +118,7 @@ const store = createStore(counterReducer)
118
118
```
119
119
120
120
121
-
El store ahora usa el reducer para manejar <i>acciones</i>, que son <i>dispatched</i> o 'envían' al store con su método de [dispatch](https://redux.js.org/api/store#dispatchaction)(envío).
121
+
El store ahora usa el reducer para manejar <i>acciones</i>, que son <i>dispatched</i> o 'envíadas' al store con su método de [dispatch](https://redux.js.org/api/store#dispatchaction)(envío).
El estado ahora es una Array. <i>NEW\_NOTE</i>- las acciones de tipo hacen que se agregue una nueva nota al estado con el método [push](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push).
372
+
El estado ahora es una Array. Las acciones de tipo <i>NEW\_NOTE</i> hacen que se agregue una nueva nota al estado con el método [push](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push).
373
373
374
374
375
375
La aplicación parece estar funcionando, pero el reducer que hemos declarado es malo. Rompe el [supuesto básico](https://github.com/reactjs/redux/blob/master/docs/basics/Reducers.md#handling-actions) del reducer Redux de que los reducers deben ser [funciones puras](https://en.wikipedia.org/wiki/Pure_function).
@@ -378,7 +378,7 @@ La aplicación parece estar funcionando, pero el reducer que hemos declarado es
378
378
Las funciones puras son tales que <i>no causan ningún efecto secundario</i> y siempre deben devolver la misma respuesta cuando se invocan con los mismos parámetros.
379
379
380
380
381
-
Agregamos una nueva nota al estado con el método _state.push(action.data)_ que <i>cambia</i> el estado del objeto de estado. Esto no esta permitido. El problema se resuelve fácilmente utilizando el método [concat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat), que crea un <i>nuevo array</i>, que contiene todos los elementos del array anterior y el nuevo elemento:
381
+
Agregamos una nueva nota al estado con el método _state.push(action.data)_ que <i>cambia</i> el estado del objeto. Esto no está permitido. El problema se resuelve fácilmente utilizando el método [concat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat), que crea un <i>nuevo array</i>, que contiene todos los elementos del array anterior y el nuevo elemento:
Un estado reducer debe estar compuesto por objetos [inmutables](https://en.wikipedia.org/wiki/Immutable_object). Si hay un cambio en el estado, el objeto antiguo no se cambia, sino que se <i>reemplaza por un objeto nuevo modificado</i>. Esto es exactamente lo que hicimos con el nuevo reducer: el array anterior se reemplaza por la nueva.
394
+
Un estado reducer debe estar compuesto por objetos [inmutables](https://en.wikipedia.org/wiki/Immutable_object). Si hay un cambio en el estado, el objeto antiguo no se cambia, sino que se <i>reemplaza por un objeto nuevo modificado</i>. Esto es exactamente lo que hicimos con el nuevo reducer: el array anterior se reemplaza por el nuevo.
395
395
396
396
397
397
Ampliemos nuestro reducer para que pueda manejar el cambio de importancia de una nota:
@@ -734,7 +734,7 @@ En las pruebas, asegúrese de que el reducer sea una <i>función inmutable</i> c
734
734
Comience expandiendo el reducer para que pasen ambas pruebas. Luego agregue el resto de las pruebas y finalmente la funcionalidad que están probando.
735
735
736
736
737
-
Un buen modelo para el reducer es el ejemplo anterior de [redux-notas](/es/part6/flux_architecture_and_redux#pure-functions-immutable).
737
+
Un buen modelo para el reducer es el ejemplo anterior de [redux-notas](/es/part6/flux_architecture_y_redux#redux-notas).
738
738
739
739
740
740
#### 6.2: unicafe revisitado, paso 2
@@ -1241,7 +1241,7 @@ Implementar la funcionalidad para votar anécdotas. La cantidad de votos debe gu
1241
1241
Implementar la funcionalidad para agregar nuevas anécdotas.
1242
1242
1243
1243
1244
-
Puede mantener el formulario no controlado, como hicimos [antes](es/part6/flux_architecture_and_redux#uncontrolled-form).
1244
+
Puede mantener el formulario no controlado, como hicimos [antes](/es/part6/flux_architecture_y_redux#formulario-no-controlado).
1245
1245
1246
1246
#### 6.5*: anécdotas, paso 3
1247
1247
@@ -1251,7 +1251,7 @@ Asegúrese de que las anécdotas estén ordenadas por número de votos.
1251
1251
#### 6.6: anécdotas, paso 4
1252
1252
1253
1253
1254
-
Si aún no lo ha hecho, separe la creación de objetos de acción en funciones de [creador de acciones](https://redux.js.org/basics/actions#action-creators) y colóquelos en el archivo <i>src/reducers/anecdoteReducer.js</i>, así que haga lo que hemos estado haciendo desde el capítulo [creadores de acciones](/es/part6/flux_architecture_and_redux#action-creators).
1254
+
Si aún no lo ha hecho, separe la creación de objetos de acción en funciones de [creador de acciones](https://redux.js.org/basics/actions#action-creators) y colóquelos en el archivo <i>src/reducers/anecdoteReducer.js</i>, así que haga lo que hemos estado haciendo desde el capítulo [creadores de acciones](/es/part6/flux_architecture_y_redux#creadores-de-acciones).
0 commit comments