-
Notifications
You must be signed in to change notification settings - Fork 291
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Translate: handling events docs #77
Translate: handling events docs #77
Conversation
content/docs/handling-events.md
Outdated
permalink: docs/handling-events.html | ||
prev: state-and-lifecycle.html | ||
next: conditional-rendering.html | ||
redirect_from: | ||
- "docs/events-ko-KR.html" | ||
--- | ||
|
||
Handling events with React elements is very similar to handling events on DOM elements. There are some syntactic differences: | ||
Manejar eventos con elementos de React es muy similar a la manera en cómo se manejan eventos con elementos del DOM. Solo hay una diferencias de sintaxis: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest ...es muy similar a manejar eventos con elementos del Dom.
content/docs/handling-events.md
Outdated
|
||
```js{1} | ||
<button onClick={activateLasers}> | ||
Activate Lasers | ||
</button> | ||
``` | ||
|
||
Another difference is that you cannot return `false` to prevent default behavior in React. You must call `preventDefault` explicitly. For example, with plain HTML, to prevent the default link behavior of opening a new page, you can write: | ||
Otra diferencia es que en React no puedes retornar `false` para prevenir el comportamiento por defecto. Debes, explícitamente, llamar `preventDefault`. Por ejemplo, en un HTML plano, para prevenir el comportamiento por defecto de un hipervínculo de abrir una nueva página, puedes escribir: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about enlace
for link
or just link
content/docs/handling-events.md
Outdated
@@ -54,19 +54,19 @@ function ActionLink() { | |||
} | |||
``` | |||
|
|||
Here, `e` is a synthetic event. React defines these synthetic events according to the [W3C spec](https://www.w3.org/TR/DOM-Level-3-Events/), so you don't need to worry about cross-browser compatibility. See the [`SyntheticEvent`](/docs/events.html) reference guide to learn more. | |||
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/), entoncés 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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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/), entoncés 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. | |
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @shmesa22, this is getting close!
Please, consider the updates suggested by @EzequielMonforte and the one I left!
Thanks for your contribution 🎉 !
content/docs/handling-events.md
Outdated
|
||
When you define a component using an [ES6 class](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes), a common pattern is for an event handler to be a method on the class. For example, this `Toggle` component renders a button that lets the user toggle between "ON" and "OFF" states: | ||
Cuando defines un componente usando [clases de ES6](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/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": |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's reference the Spanish MDN docs :)
Cuando defines un componente usando [clases de ES6](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/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": | |
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": |
@shmesa22 I synced your PR to add changes from master. |
Thank you @tesseralis, and sorry about this PR. I have been very busy lately, I will probably resolve PR comments tomorrow |
…reactjs.org into handling-events-translation
@alejandronanez @EzequielMonforte I think this is ready for another review? |
content/docs/handling-events.md
Outdated
permalink: docs/handling-events.html | ||
prev: state-and-lifecycle.html | ||
next: conditional-rendering.html | ||
redirect_from: | ||
- "docs/events-ko-KR.html" | ||
--- | ||
|
||
Handling events with React elements is very similar to handling events on DOM elements. There are some syntactic differences: | ||
Manejar eventos con elementos de React es muy similar a manejar eventos con elementos del Dom.. Solo hay una diferencias de sintaxis: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest
Manejar eventos con elementos de React es muy similar a manejar eventos con elementos del Dom.. Solo hay una diferencias de sintaxis: | |
Manejar eventos con elementos de React es muy similar a manejar eventos en elementos del DOM. Hay algunas diferencias de sintaxis: |
content/docs/handling-events.md
Outdated
* React events are named using camelCase, rather than lowercase. | ||
* With JSX you pass a function as the event handler, rather than a string. | ||
* Los eventos de React se nombran usando camelCase, en vez de minúsculas. | ||
* En JSX se pasa la función como el manejador del evento, en vez de una cadena de texto. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could be:
* En JSX se pasa la función como el manejador del evento, en vez de una cadena de texto. | |
* Con JSX pasas una función como el manejador del evento, en vez de un string. |
Here are some words that you should consider to not translate, as string: https://github.com/reactjs/es.reactjs.org/blob/master/TRANSLATION.md
@@ -54,19 +54,19 @@ function ActionLink() { | |||
} | |||
``` | |||
|
|||
Here, `e` is a synthetic event. React defines these synthetic events according to the [W3C spec](https://www.w3.org/TR/DOM-Level-3-Events/), so you don't need to worry about cross-browser compatibility. See the [`SyntheticEvent`](/docs/events.html) reference guide to learn more. | |||
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you think about deberías
instead of debes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think deberías
sounds like some times you won't need to worry, but in some cases you will. In that case it would be ... you shouldn't need to worry...
. LMK what do you think about this one
content/docs/handling-events.md
Outdated
|
||
When using React you should generally not need to call `addEventListener` to add listeners to a DOM element after it is created. Instead, just provide a listener when the element is initially rendered. | ||
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think listeners aren't the same of handlers, so IMO you could change escuchadores or receptores
instead of manejadores
content/docs/handling-events.md
Outdated
|
||
When you define a component using an [ES6 class](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes), a common pattern is for an event handler to be a method on the class. For example, this `Toggle` component renders a button that lets the user toggle between "ON" and "OFF" states: | ||
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": |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO encendido sounds better than prendido. What do you think?
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": | |
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": |
content/docs/handling-events.md
Outdated
|
||
```js{6,7,10-14,18} | ||
class Toggle extends React.Component { | ||
constructor(props) { | ||
super(props); | ||
this.state = {isToggleOn: true}; | ||
|
||
// This binding is necessary to make `this` work in the callback | ||
// Esta ligadura es necesaria para hacer que `this` funcione en el callback |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you think about vínculo or enlace instead of ligadura?
content/docs/handling-events.md
Outdated
|
||
This is not React-specific behavior; it is a part of [how functions work in JavaScript](https://www.smashingmagazine.com/2014/01/understanding-javascript-function-prototype-bind/). Generally, if you refer to a method without `()` after it, such as `onClick={this.handleClick}`, you should bind that method. | ||
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe you could change como funcionan las funciones
by como operan las funciones
to not be repetitve.
Also IMO sounds better
esto es parte de
than
esto hace parte de
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't know about esto es parte de
. I'm open to hearing opinions
content/docs/handling-events.md
Outdated
|
||
If you aren't using class fields syntax, you can use an [arrow function](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions) in the callback: | ||
Esta sintaxis está habilitada por defecto en [Create React App](https://github.com/facebookincubator/create-react-app). | ||
: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
: |
content/docs/handling-events.md
Outdated
If you aren't using class fields syntax, you can use an [arrow function](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions) in the callback: | ||
Esta sintaxis está habilitada por defecto en [Create React App](https://github.com/facebookincubator/create-react-app). | ||
: | ||
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: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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: | |
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: |
content/docs/handling-events.md
Outdated
@@ -138,17 +138,17 @@ class LoggingButton extends React.Component { | |||
} | |||
``` | |||
|
|||
The problem with this syntax is that a different callback is created each time the `LoggingButton` renders. In most cases, this is fine. However, if this callback is passed as a prop to lower components, those components might do an extra re-rendering. We generally recommend binding in the constructor or using the class fields syntax, to avoid this sort of performance problem. | |||
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. | |
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. |
content/docs/handling-events.md
Outdated
|
||
## Passing Arguments to Event Handlers {#passing-arguments-to-event-handlers} | ||
## Pasando Argumentos a un Manejador de Eventos {#passing-arguments-to-event-handlers} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest
## Pasando Argumentos a un Manejador de Eventos {#passing-arguments-to-event-handlers} | |
## Pasando Argumentos a Manejadores de Eventos {#passing-arguments-to-event-handlers} |
|
||
Inside a loop it is common to want to pass an extra parameter to an event handler. For example, if `id` is the row ID, either of the following would work: | ||
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: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest
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: | |
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 siguientes podría funcionar: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMHO, a continuación
sounds better.
Maybe cualquiera de los siguientes códigos...
Hearing opinions.
Hey @shmesa22 👋 , what's the state of this PR? Thanks! |
Hey @alejandronanez. Almost done with last comments. I'll be pushing changes tonight. |
…ing-events-translation
@EzequielMonforte I left some comments in two of your reviews. LMK what do you think 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @shmesa22, this is looking pretty solid!
LGTM - merging!
Description:
Translation of handling events page in docs
This PR is related to issue #15