Skip to content

Commit 0ebcf24

Browse files
committed
part 1d
1 parent 9af821a commit 0ebcf24

File tree

2 files changed

+22
-22
lines changed

2 files changed

+22
-22
lines changed

src/content/1/en/part1d.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,7 @@ The following object is set as the new state of the application:
106106

107107
The new value of the <i>left</i> property is now the same as the value of <i>left + 1</i> from the previous state, and the value of the <i>right</i> property is the same as the value of the <i>right</i> property from the previous state.
108108

109-
We can define the new state object a bit more neatly by using the [object spread](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax)
110-
syntax that was added to the language specification in the summer of 2018:
109+
We can define the new state object a bit more neatly by using the [object spread](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax) syntax that was added to the language specification in the summer of 2018:
111110

112111
```js
113112
const handleLeftClick = () => {
@@ -227,8 +226,7 @@ const handleLeftClick = () => {
227226

228227
However, __don't__ do this. As mentioned previously, the state of React components like _allClicks_ must not be mutated directly. Even if mutating state appears to work in some cases, it can lead to problems that are very hard to debug.
229228

230-
Let's take a closer look at how the clicking
231-
is rendered to the page:
229+
Let's take a closer look at how the clicking is rendered to the page:
232230

233231
```js
234232
const App = () => {
@@ -475,7 +473,7 @@ Keep both your code and the web page open together **at the same time, all the t
475473

476474
If and when your code fails to compile and your browser lights up like a Christmas tree:
477475

478-
![screenshot of code](../../images/1/6x.png)
476+
![screenshot of error pointing at the code line where it has been generated](../../images/1/6x.png)
479477

480478
don't write more code but rather find and fix the problem **immediately**. There has yet to be a moment in the history of coding where code that fails to compile would miraculously start working after writing large amounts of additional code. I highly doubt that such an event will transpire during this course either.
481479

@@ -1134,8 +1132,7 @@ Programming is hard, that is why I will use all the possible means to make it ea
11341132

11351133
<h3>Exercises 1.6.-1.14.</h3>
11361134

1137-
Submit your solutions to the exercises by first pushing your code to GitHub and then marking the completed exercises into
1138-
the "my submissions" tab of the [submission application](https://studies.cs.helsinki.fi/stats/courses/fullstackopen).
1135+
Submit your solutions to the exercises by first pushing your code to GitHub and then marking the completed exercises into the "my submissions" tab of the [submission application](https://studies.cs.helsinki.fi/stats/courses/fullstackopen).
11391136

11401137
Remember, submit **all** the exercises of one part **in a single submission**. Once you have submitted your solutions for one part, **you cannot submit more exercises to that part anymore**.
11411138

src/content/1/es/part1d.md

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -246,9 +246,9 @@ const App = () => {
246246

247247
Llamamos al método [join](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/join) en el array _allClicks_ que une todos los elementos en una sola cadena, separados por la cadena pasada como parámetro de la función, que en nuestro caso es un espacio vacío.
248248

249-
### La actualización del estado es asincrónica
249+
### La actualización del estado es asíncrona
250250

251-
Ampliemos la aplicación para que realice un seguimiento del número _total_ de veces que los botones son presionados, cuyo valor siempre se actualiza cuendo se presionan los botones:
251+
Ampliemos la aplicación para que realice un seguimiento del número _total_ de veces que los botones son presionados, cuyo valor siempre se actualiza cuando se presionan los botones:
252252

253253
```js
254254
const App = () => {
@@ -307,7 +307,7 @@ const App = () => {
307307

308308
La consola revela el problema
309309

310-
![La consola mostrandos left before 4 y left after 4](../../images/1/32.png)
310+
![La consola mostrándonos left before 4 y left after 4](../../images/1/32.png)
311311

312312
Aunque se estableció un nuevo valor para _left_ llamando a _setLeft(left + 1)_, el valor anterior persiste a pesar de la actualización. Como resultado, el intento de contar las pulsaciones de botones produce un resultado demasiado pequeño:
313313

@@ -465,15 +465,15 @@ Antes de continuar, recordemos una de las reglas más importantes del desarrollo
465465

466466
<h4>La primera regla de desarrollo web</h4>
467467

468-
> **Manten la consola de desarrollador del navegador abierta en todo momento.**
468+
> **Mantén la consola de desarrollador del navegador abierta en todo momento.**
469469
>
470470
> La <i>Consola</i>, en particular, debería estar siempre abierta, a menos que haya una razón específica para ver otra pestaña.
471471
472472
Mantén tu código y la página web abiertos juntos **al mismo tiempo, todo el tiempo**.
473473

474474
Si tu código falla al compilarse y tu navegador se ilumina como un árbol de Navidad:
475475

476-
![](../../images/1/6e.png)
476+
![Captura de pantalla de un error, apuntando a la linea de código en donde se ha generado ](../../images/1/6e.png)
477477

478478
no escriba más código, sino busca y soluciona el problema **inmediatamente**. Aún no ha habido un momento en la historia de la codificación en el que el código que no se compila comience a funcionar milagrosamente después de escribir grandes cantidades de código adicional. Dudo mucho que tal evento ocurra durante este curso tampoco.
479479

@@ -509,7 +509,7 @@ Esto revelará inmediatamente si, por ejemplo, uno de los atributos se ha escrit
509509
console.log('props value is ' + props)
510510
```
511511

512-
Si usas la forma similar a Java de concatenar una cadena con un objeto, terminará mostrandote un mensaje poco informativo:
512+
Si haces eso, terminará mostrándote un mensaje poco informativo:
513513

514514
```js
515515
props value is [Object object]
@@ -569,7 +569,7 @@ En resumen, los hooks solo se pueden llamar desde el interior de un cuerpo de la
569569

570570
```js
571571
const App = () => {
572-
// estos estan bien
572+
// estos están bien
573573
const [age, setAge] = useState(0)
574574
const [name, setName] = useState('Juha Tauriainen')
575575

@@ -579,7 +579,7 @@ const App = () => {
579579
}
580580

581581
for ( let i = 0; i < age; i++ ) {
582-
// también esto no está bien
582+
// esto tampoco está bien
583583
const [rightWay, setRightWay] = useState(false)
584584
}
585585

@@ -621,7 +621,7 @@ Para que el botón reaccione a un evento de clic, tenemos que agregarle un <i>co
621621

622622
Los controladores de eventos siempre deben ser una función o una referencia a una función. El botón no funcionará si el controlador de eventos se establece en una variable de cualquier otro tipo.
623623

624-
Si definieramos el controlador de eventos como una cadena:
624+
Si definiéramos el controlador de eventos como una cadena:
625625

626626
```js
627627
<button onClick="crap...">button</button>
@@ -649,6 +649,7 @@ index.js:2178 Warning: Expected `onClick` listener to be a function, instead got
649649
```
650650

651651
Este intento tampoco funcionaría:
652+
652653
```js
653654
<button onClick={value = 0}>button</button>
654655
```
@@ -1128,7 +1129,8 @@ Programar es difícil, por eso usaré todos los medios posibles para hacerlo má
11281129
</div>
11291130

11301131
<div class="tasks">
1131-
<h3> Ejercicios 1.6.-1.14.</h3>
1132+
1133+
<h3> Ejercicios 1.6.-1.14.</h3>
11321134

11331135
Envía tus soluciones a los ejercicios enviando primero st código a GitHub y luego marcando los ejercicios completados en el [sistema de envío de ejercicios](https://studies.cs.helsinki.fi/stats/courses/fullstackopen).
11341136

@@ -1150,7 +1152,7 @@ ten en cuenta las cosas que se cuentan [aquí](/en/part1/introduction_to_react#d
11501152

11511153
<h4>1.6: unicafe, paso 1</h4>
11521154

1153-
Como la mayoría de las empresas, [Unicafe](https://www.unicafe.fi/#/9/4) recopila comentarios de sus clientes. Tu tarea es implementar una aplicación web para recopilar comentarios de los clientes. Solo hay tres opciones para los comentarios: <i>good (bueno)</i>, <i>neutral</i> y <i>bad(malo)</i>.
1155+
Como la mayoría de las empresas, [Unicafe](https://www.unicafe.fi) recopila comentarios de sus clientes. Tu tarea es implementar una aplicación web para recopilar comentarios de los clientes. Solo hay tres opciones para los comentarios: <i>good (bueno)</i>, <i>neutral</i> y <i>bad(malo)</i>.
11541156

11551157
La aplicación debe mostrar el número total de comentarios recopilados para cada categoría. Tu aplicación final podría verse así:
11561158

@@ -1169,7 +1171,7 @@ import App from './App'
11691171
ReactDOM.createRoot(document.getElementById('root')).render(<App />)
11701172
```
11711173

1172-
Podrias usar el siguiente código como punto de partida para el archivo <i>App.jsx</i>:
1174+
Podrías usar el siguiente código como punto de partida para el archivo <i>App.jsx</i>:
11731175

11741176
```js
11751177
import { useState } from 'react'
@@ -1235,6 +1237,7 @@ Cambia tu aplicación para mostrar estadísticas solo una vez que se hayan recop
12351237
Continuemos refactorizando la aplicación. Extrae los siguiente dos componentes:
12361238

12371239
- <i>Button</i> para definir los botones utilizados para enviar comentarios
1240+
12381241
- <i>StatisticLine</i> para mostrar una única estadística, por ejemplo, la puntuación media.
12391242

12401243
Para ser claros: el componente <i>StatisticLine</i> siempre muestra una única estadística, lo que significa que la aplicación utiliza varios componentes para representar todas las estadísticas:
@@ -1260,7 +1263,7 @@ El estado de la aplicación aún debe mantenerse en el componente raíz <i>App</
12601263

12611264
Muestra las estadísticas en una [tabla](https://developer.mozilla.org/es/docs/Learn/HTML/Tables/Basics) HTML, de modo que tu la aplicación se ve más o menos así:
12621265

1263-
![Captura de pantalla de la tabla de estatisticas](../../images/1/16e.png)
1266+
![Captura de pantalla de la tabla de estadísticas](../../images/1/16e.png)
12641267

12651268
Recuerda mantener la consola abierta en todo momento. Si ves esta advertencia en tu consola:
12661269

@@ -1307,7 +1310,7 @@ export default App
13071310

13081311
El contenido del archivo <i>main.jsx</i> es el mismo de los ejercicios anteriores.
13091312

1310-
Busca como generar números aleactorios en JavaScript, por ejemplo, en un buscador o en [Mozilla Developer Network](https://developer.mozilla.org). Recuerda que puedes probar la generación de números aleatorios, por ejemplo, directamente en la consola de tu navegador.
1313+
Busca como generar números aleatorios en JavaScript, por ejemplo, en un buscador o en [Mozilla Developer Network](https://developer.mozilla.org). Recuerda que puedes probar la generación de números aleatorios, por ejemplo, directamente en la consola de tu navegador.
13111314

13121315
Tu aplicación finalizada podría verse así
13131316

@@ -1317,7 +1320,7 @@ Tu aplicación finalizada podría verse así
13171320

13181321
Expande tu aplicación para que puedas votar por la anécdota mostrada.
13191322

1320-
![Aplicación de anecdoras con un botón para votar](../../images/1/19a.png)
1323+
![Aplicación de anécdotas con un botón para votar](../../images/1/19a.png)
13211324

13221325
**Nota:** almacena los votos de cada anécdota en una matriz u objeto en el estado del componente. Recuerda que la forma correcta de actualizar el estado almacenado en estructuras de datos complejas como objetos y matrices es hacer una copia del estado.
13231326

0 commit comments

Comments
 (0)