Skip to content

Commit 568b5ea

Browse files
committed
update exercises identical to english version
1 parent 1c41884 commit 568b5ea

File tree

1 file changed

+51
-52
lines changed

1 file changed

+51
-52
lines changed

src/content/6/es/part6b.md

Lines changed: 51 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -405,6 +405,41 @@ const notes = useSelector(({ filter, notes }) => {
405405
406406
Hay un pequeño defecto cosmético en nuestra aplicación. Aunque el filtro está configurado en <i>ALL</i> de forma predeterminada, el radio button asociado no está seleccionado. Naturalmente, este problema se puede solucionar, pero como se trata de un error desagradable pero, en última instancia, inofensivo, guardaremos la solución para más adelante.
407407
408+
</div>
409+
410+
<div class="tasks">
411+
412+
### Ejercicio 6.9
413+
414+
#### 6.9 Mejores anécdotas, paso 7
415+
416+
Implementa filtros para las anecdotas que se muestran al usuario. Se recomienda crear un nuevo reducer, action creators y un reducer commbinado para la store usando la función <i>combineReducers</i>.
417+
418+
Crea un nuevo componente <i>Filter</i> para mostrar los filtros. Puedes utilizar el suigiente código como punto de partida:
419+
420+
```js
421+
const Filter = () => {
422+
const handleChange = (event) => {
423+
// input-field value is in variable event.target.value
424+
}
425+
const style = {
426+
marginBottom: 10
427+
}
428+
429+
return (
430+
<div style={style}>
431+
filter <input onChange={handleChange} />
432+
</div>
433+
)
434+
}
435+
436+
export default Filter
437+
```
438+
439+
</div>
440+
441+
<div class="content">
442+
408443
### Redux DevTools
409444
410445
Existe una extensión [Redux DevTools](https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd) que se puede instalar en Chrome, en la cual el estado del store Redux y la acción que lo cambia se puede monitorear desde la consola del navegador.
@@ -460,24 +495,27 @@ Puede encontrar el código para nuestra aplicación actual en su totalidad en la
460495
<div class="tasks">
461496
462497
463-
### Ejercicios 6.9.-6.12.
498+
### Ejercicios 6.10.-6.13.
464499
500+
Continuemos trabajando en la aplicación de anécdotas usando redux la cual comenzamos en el ejercicio 6.3.
465501
466-
Continuemos trabajando en la aplicación de anécdotas usando redux que comenzamos en el ejercicio 6.3.
502+
#### 6.10 Mejores anécdotas, paso 8
467503
504+
Instala Redux Toolkit en el proyecto. Mueve la creacion de la store de redux a su propio archivo <i>store.js</i> y usa la función <em>configureStore</em> para crear la store.
468505
469-
#### 6.9 Mejores anécdotas, paso 7
506+
Cambia la definición del <i>Filter reducer y creación de acciones</i> para usar la función <em>createSlice</em> de Redux Toolkit.
470507
471-
Comience a utilizar Redux DevTools. Mueva la definición de Redux-store a su propio archivo <i>store.js</i>.
508+
Tambien, empieza a usar los Redux DevTools para depurar el estado de la aplicación facilmente.
472509
510+
### 6.11 Mejores anécdotas, paso 9
473511
474-
#### 6.10 Mejores anécdotas, paso 8
512+
Cambia también la definición de <i>Anecdote reducer y creación de acciones</i> para usar la función <em>createSlice</em> de Redux Toolkit.
475513
476-
La aplicación tiene un cuerpo listo para usar para el componente <i>Notification</i>:
514+
#### 6.12 Mejores anécdotas, paso 10
477515
478-
```js
479-
import React from 'react'
516+
La aplicación tiene un cuerpo listo para usar el componente <i>Notification</i>:
480517
518+
```js
481519
const Notification = () => {
482520
const style = {
483521
border: 'solid',
@@ -494,11 +532,9 @@ const Notification = () => {
494532
export default Notification
495533
```
496534
497-
498-
Extienda el componente para que muestre el mensaje almacenado en el store redux, haciendo que el componente tome el formulario:
535+
Extienda el componente para que muestre el mensaje almacenado en el store de redux, haciendo que el componente tome la siguiente forma:
499536
500537
```js
501-
import React from 'react'
502538
import { useSelector } from 'react-redux' // highlight-line
503539

504540
const Notification = () => {
@@ -516,53 +552,16 @@ const Notification = () => {
516552
}
517553
```
518554
519-
Tendrá que realizar cambios en el reducer existente de la aplicación. Cree un reducer separado para la nueva funcionalidad y refactorice la aplicación para que utilice un [reducer combinado](https://fullstackopen.com/es/part6/muchos_reducers#reducers-combinados) como se muestra en esta parte del material del curso.
555+
Tendrá que realizar cambios en el reducer existente de la aplicación. Cree un reducer separado para la nueva funcionalidad usando la función <em>createSlice</em> de Redux Toolkit.
520556
521557
La aplicación no tiene que utilizar el componente <i>Notification</i> de forma inteligente en este punto de los ejercicios. Es suficiente que la aplicación muestre el valor inicial establecido para el mensaje en el <i>notificationReducer</i>.
522558
523-
#### 6.11 Mejores anécdotas, paso 9
524-
559+
#### 6.13 Mejores anécdotas, paso 11
525560
526561
Extienda la aplicación para que utilice el componente <i>Notification</i> para mostrar un mensaje durante cinco segundos cuando el usuario vote por una anécdota o cree una nueva anécdota:
527562
528-
![](../../images/6/8ea.png)
529-
530-
531-
Se recomienda crear [creadores de acciones](https://redux.js.org/basics/actions#action-creators) independientes para configurar y eliminar notificaciones.
532-
533-
534-
#### 6.12* Mejores anécdotas, paso 10
535-
536-
537-
Implementar el filtrado de las anécdotas que se le muestran al usuario.
538-
539-
![](../../images/6/9ea.png)
540-
541-
542-
Guarde el estado del filtro en el store redux. Se recomienda crear un nuevo reducer y creadores de acciones para este propósito.
543-
544-
545-
Cree un nuevo componente <i>Filter</i> para mostrar el filtro. Puede utilizar el siguiente código como plantilla para el componente:
546-
547-
```js
548-
import React from 'react'
549-
550-
const Filter = () => {
551-
const handleChange = (event) => {
552-
// input-field value is in variable event.target.value
553-
}
554-
const style = {
555-
marginBottom: 10
556-
}
557-
558-
return (
559-
<div style={style}>
560-
filter <input onChange={handleChange} />
561-
</div>
562-
)
563-
}
563+
![browser showing message of having voted](../../images/6/8ea.png)
564564
565-
export default Filter
566-
```
565+
Se recomienda crear [creadores de acciones](https://redux-toolkit.js.org/api/createSlice#reducers) independientes para configurar y eliminar notificaciones.
567566
568567
</div>

0 commit comments

Comments
 (0)