Skip to content

Commit 4b25b1d

Browse files
committed
Address PR comments
1 parent c62b052 commit 4b25b1d

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

content/docs/handling-events.md

+10-10
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ redirect_from:
88
- "docs/events-ko-KR.html"
99
---
1010

11-
Manejar eventos con elementos de React es muy similar a manejar eventos con elementos del Dom.. Solo hay una diferencias de sintaxis:
11+
Manejar eventos en elementos de React es muy similar a manejar eventos con elementos del Dom. Hay algunas diferencias de sintaxis:
1212

1313
* Los eventos de React se nombran usando camelCase, en vez de minúsculas.
14-
* En JSX se pasa la función como el manejador del evento, en vez de una cadena de texto.
14+
* Con JSX pasas una función como el manejador del evento, en vez de un string.
1515

1616
Por ejemplo, el HTML:
1717

@@ -56,17 +56,17 @@ function ActionLink() {
5656

5757
Aquí, `e` es un evento sintético. React define estos eventos sintéticos acorde a las [especificaciones W3C](https://www.w3.org/TR/DOM-Level-3-Events/), entonces no debes preocuparte por la compatibilidad a tráves de los navegadores. Mira la guía de referencia [`SyntheticEvent`](/docs/events.html) para aprender más.
5858

59-
Cuando estás utilizando React, generalmente, no debes llamar `addEventListener` para agregar manejadores de eventos a un elemento del DOM después de que este es creado. Por el contrario, solo debes proveer un manejador de eventos cuando el elemento es inicialmente renderizado.
59+
Cuando estás utilizando React, generalmente, no debes llamar `addEventListener` para agregar escuchadores de eventos a un elemento del DOM después de que este es creado. Por el contrario, solo debes proveer un manejador de eventos cuando el elemento es inicialmente renderizado.
6060

61-
Cuando defines un componente usando [clases de ES6](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Classes), un patrón muy común es que los manejadores de eventos sean un método de la clase. Por ejemplo, este componente `Toggle` renderiza un botón que permite al usuario cambiar el estado entre "PRENDIDO" y "APAGADO":
61+
Cuando defines un componente usando una [clase de ES6](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Classes), un patrón muy común es que los manejadores de eventos sean un método de la clase. Por ejemplo, este componente `Toggle` renderiza un botón que permite al usuario cambiar el estado entre "ENCENDIDO" y "APAGADO":
6262

6363
```js{6,7,10-14,18}
6464
class Toggle extends React.Component {
6565
constructor(props) {
6666
super(props);
6767
this.state = {isToggleOn: true};
6868
69-
// Esta ligadura es necesaria para hacer que `this` funcione en el callback
69+
// Este enlace es necesario para hacer que `this` funcione en el callback
7070
this.handleClick = this.handleClick.bind(this);
7171
}
7272
@@ -95,7 +95,7 @@ ReactDOM.render(
9595

9696
Tienes que tener mucho cuidado en cuanto al significado de `this` en los callbacks de JSX. En JavaScript, los métodos de clase no están [ligados](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_objects/Function/bind) por defecto. Si olvidas ligar `this.handleClick` y lo pasas a `onClick`, `this` sera `undefined` cuando se llame la función.
9797

98-
Esto no es un comportamiento especifico de React; esto hace parte de [como funcionan las funciones JavaScript](https://www.smashingmagazine.com/2014/01/understanding-javascript-function-prototype-bind/). Generalmente, si refieres un método sin usar `()` después de este, tal como `onClick={this.handleClick}`, deberías ligar ese método.
98+
Esto no es un comportamiento especifico de React; esto hace parte de [como operan las funciones JavaScript](https://www.smashingmagazine.com/2014/01/understanding-javascript-function-prototype-bind/). Generalmente, si refieres un método sin usar `()` después de este, tal como `onClick={this.handleClick}`, deberías ligar ese método.
9999

100100
Si te molesta llamar `bind`, existen dos maneras de evitarlo. Si usas la sintaxis experimental [campos publicos de clases](https://babeljs.io/docs/plugins/transform-class-properties/), puedes usar los campos de clases para ligar los callbacks correctamente:
101101

@@ -118,8 +118,8 @@ class LoggingButton extends React.Component {
118118
```
119119

120120
Esta sintaxis está habilitada por defecto en [Create React App](https://github.com/facebookincubator/create-react-app).
121-
:
122-
Si no estas usando la sintaxis de campos publicos de clases, puedes usar [funciones flecha](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions) en el callback:
121+
122+
Si no estas usando la sintaxis de campos publicos de clases, puedes usar una [función flecha](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions) en el callback:
123123

124124
```js{7-9}
125125
class LoggingButton extends React.Component {
@@ -138,9 +138,9 @@ class LoggingButton extends React.Component {
138138
}
139139
```
140140

141-
El problema con esta sintaxis es que un callback diferente es creado cada vez que `LogginButton` es renderizado. En la mayoría de los casos, esto está bien. Sin embargo, si este callback se pasa como una propiedad a componentes más bajos, estos componentes podría renderizarse nuevamente. Nosotros, generalmente, recomendamos ligar en el constructor o usar la sintaxis de campos de clases, para evitar esta clase de problemas de rendimiento.
141+
El problema con esta sintaxis es que un callback diferente es creado cada vez que `LogginButton` es renderizado. En la mayoría de los casos, esto está bien. Sin embargo, si este callback se pasa como una propiedad a componentes más bajos, estos componentes podrían renderizarse nuevamente. Generalmente, recomendamos ligar en el constructor o usar la sintaxis de campos de clases, para evitar esta clase de problemas de rendimiento.
142142

143-
## Pasando Argumentos a un Manejador de Eventos {#passing-arguments-to-event-handlers}
143+
## Pasando Argumentos a Escuchadores de Eventos {#passing-arguments-to-event-handlers}
144144

145145
Dentro de un bucle es muy común querer pasar un parámetro extra a un manejador de eventos. Por ejemplo, si `id` es el ID de una fila, cualquiera de los códigos a continuación podría funcionar:
146146

0 commit comments

Comments
 (0)