From cde3068e714c2d6f1ee11711da3e5de1f8c901f5 Mon Sep 17 00:00:00 2001
From: Joel Bello
Date: Tue, 16 May 2023 21:05:05 -0400
Subject: [PATCH 1/5] translate: adding interactivity to spanish
---
src/content/learn/adding-interactivity.md | 178 +++++++++++-----------
src/sidebarLearn.json | 4 +-
2 files changed, 91 insertions(+), 91 deletions(-)
diff --git a/src/content/learn/adding-interactivity.md b/src/content/learn/adding-interactivity.md
index 501c9f620..386350829 100644
--- a/src/content/learn/adding-interactivity.md
+++ b/src/content/learn/adding-interactivity.md
@@ -1,30 +1,30 @@
---
-title: Adding Interactivity
+title: Agregar interactividad
---
-Some things on the screen update in response to user input. For example, clicking an image gallery switches the active image. In React, data that changes over time is called *state.* You can add state to any component, and update it as needed. In this chapter, you'll learn how to write components that handle interactions, update their state, and display different output over time.
+Algunas cosas en la pantalla se actualizan en respuesta a la entrada del usuario. Por ejemplo, hacer clic en una galería de imágenes cambia la imagen activa. En React, los datos que cambian con el tiempo se denominan *estado.* Puede agregar estado a cualquier componente y actualizarlo según sea necesario. En este capítulo, aprenderá a escribir componentes que manejen interacciones, actualicen su estado y muestren resultados diferentes a lo largo del tiempo.
-* [How to handle user-initiated events](/learn/responding-to-events)
-* [How to make components "remember" information with state](/learn/state-a-components-memory)
-* [How React updates the UI in two phases](/learn/render-and-commit)
-* [Why state doesn't update right after you change it](/learn/state-as-a-snapshot)
-* [How to queue multiple state updates](/learn/queueing-a-series-of-state-updates)
-* [How to update an object in state](/learn/updating-objects-in-state)
-* [How to update an array in state](/learn/updating-arrays-in-state)
+* [Cómo manejar eventos iniciados por el usuario](/learn/responding-to-events)
+* [Cómo hacer que los componentes "recuerden" información con estado](/learn/state-a-components-memory)
+* [Cómo React actualiza la interfaz de usuario en dos fases](/learn/render-and-commit)
+* [Por qué el estado no se actualiza justo después de cambiarlo](/learn/state-as-a-snapshot)
+* [Cómo poner en cola varias actualizaciones de estado](/learn/queueing-a-series-of-state-updates)
+* [Cómo actualizar un objeto en estado](/learn/updating-objects-in-state)
+* [Cómo actualizar un arreglo en el estado](/learn/updating-arrays-in-state)
-## Responding to events {/*responding-to-events*/}
+## Respondiendo a eventos {/*responding-to-events*/}
-React lets you add *event handlers* to your JSX. Event handlers are your own functions that will be triggered in response to user interactions like clicking, hovering, focusing on form inputs, and so on.
+React le permite agregar controladores de eventos a su JSX. Los controladores de eventos son sus propias funciones que se activarán en respuesta a las interacciones del usuario, como hacer clic, pasar el mouse, enfocarse en las entradas del formulario, etc.
-Built-in components like `` only support built-in browser events like `onClick`. However, you can also create your own components, and give their event handler props any application-specific names that you like.
+Los componentes integrados como `` solo admiten eventos de navegador integrados como `onClick`. Sin embargo, también puede crear sus propios componentes y dar a sus accesorios de controlador de eventos los nombres específicos de la aplicación que desee.
@@ -32,8 +32,8 @@ Built-in components like `` only support built-in browser events like `o
export default function App() {
return (
alert('Playing!')}
- onUploadImage={() => alert('Uploading!')}
+ onPlayMovie={() => alert('Jugando!')}
+ onUploadImage={() => alert('Cargando!')}
/>
);
}
@@ -42,10 +42,10 @@ function Toolbar({ onPlayMovie, onUploadImage }) {
return (
- Play Movie
+ Reproducir película
- Upload Image
+ Cargar imagen
);
@@ -68,22 +68,22 @@ button { margin-right: 10px; }
-Read **[Responding to Events](/learn/responding-to-events)** to learn how to add event handlers.
+Lea **[Responder a eventos](/learn/responding-to-events)** para aprender cómo agregar controladores de eventos..
-## State: a component's memory {/*state-a-components-memory*/}
+## Estado: la memoria de un componente {/*state-a-components-memory*/}
-Components often need to change what's on the screen as a result of an interaction. Typing into the form should update the input field, clicking "next" on an image carousel should change which image is displayed, clicking "buy" puts a product in the shopping cart. Components need to "remember" things: the current input value, the current image, the shopping cart. In React, this kind of component-specific memory is called *state.*
+Los componentes a menudo necesitan cambiar lo que aparece en la pantalla como resultado de una interacción. Escribir en el formulario debería actualizar el campo de entrada, hacer clic en "siguiente" en un carrusel de imágenes debería cambiar la imagen que se muestra, hacer clic en "comprar" pone un producto en el carrito de compras. Los componentes necesitan "recordar" cosas: el valor de entrada actual, la imagen actual, el carrito de compras. En React, este tipo de memoria específica del componente se llama *estado*.
-You can add state to a component with a [`useState`](/reference/react/useState) Hook. *Hooks* are special functions that let your components use React features (state is one of those features). The `useState` Hook lets you declare a state variable. It takes the initial state and returns a pair of values: the current state, and a state setter function that lets you update it.
+Puede agregar estado a un componente con un [`useState`](/reference/react/useState) Hook. Los *Hooks* son funciones especiales que permiten que sus componentes usen funciones de React (el estado es una de esas funciones). `useState` Hook te permite declarar una variable de estado. Toma el estado inicial y devuelve un par de valores: el estado actual y una función de establecimiento de estado que le permite actualizarlo.
```js
const [index, setIndex] = useState(0);
const [showMore, setShowMore] = useState(false);
```
-Here is how an image gallery uses and updates state on click:
+Así es como una galería de imágenes usa y actualiza el estado al hacer clic:
@@ -112,17 +112,17 @@ export default function Gallery() {
return (
<>
- Next
+ Siguiente
{sculpture.name}
- by {sculpture.artist}
+ de {sculpture.artist}
({index + 1} of {sculptureList.length})
- {showMore ? 'Hide' : 'Show'} details
+ {showMore ? 'Esconder' : 'Mostrar'} detalles
{showMore && {sculpture.description}
}
-Read **[State: A Component's Memory](/learn/state-a-components-memory)** to learn how to remember a value and update it on interaction.
+Lea **[El estado: la memoria de un componente](/learn/state-a-components-memory)** para aprender a recordar un valor y actualizarlo en la interacción.
-## Render and commit {/*render-and-commit*/}
+## Renderizar y confirmar {/*render-and-commit*/}
-Before your components are displayed on the screen, they must be rendered by React. Understanding the steps in this process will help you think about how your code executes and explain its behavior.
+Antes de que sus componentes se muestren en la pantalla, deben ser renderizados por React. Comprender los pasos de este proceso lo ayudará a pensar en cómo se ejecuta su código y explicar su comportamiento.
-Imagine that your components are cooks in the kitchen, assembling tasty dishes from ingredients. In this scenario, React is the waiter who puts in requests from customers and brings them their orders. This process of requesting and serving UI has three steps:
+Imagine que sus componentes son cocineros en la cocina, ensamblando sabrosos platos a partir de ingredientes. En este escenario, React es el camarero que presenta las solicitudes de los clientes y les trae sus pedidos. Este proceso de solicitud y servicio de UI consta de tres pasos:
-1. **Triggering** a render (delivering the diner's order to the kitchen)
-2. **Rendering** the component (preparing the order in the kitchen)
-3. **Committing** to the DOM (placing the order on the table)
+1. **Desencadenante** un render (entregar el pedido del comensal a la cocina)
+2. **Renderizando** el componente (preparando el pedido en la cocina)
+3. **Confirmando** el DOM (colocando el pedido en la mesa)
-
-
-
+
+
+
-Read **[Render and Commit](/learn/render-and-commit)** to learn the lifecycle of a UI update.
+Lea **[Renderizado y confirmación](/learn/render-and-commit)** para conocer el ciclo de vida de una actualización de la interfaz de usuario.
-## State as a snapshot {/*state-as-a-snapshot*/}
+## Estado como una instantánea {/*state-as-a-snapshot*/}
-Unlike regular JavaScript variables, React state behaves more like a snapshot. Setting it does not change the state variable you already have, but instead triggers a re-render. This can be surprising at first!
+A diferencia de las variables regulares de JavaScript, el estado React se comporta más como una instantánea. Configurarlo no cambia la variable de estado que ya tiene, sino que activa una nueva representación. ¡Esto puede ser sorprendente al principio!
```js
console.log(count); // 0
@@ -265,7 +265,7 @@ setCount(count + 1); // Request a re-render with 1
console.log(count); // Still 0!
```
-This behavior help you avoid subtle bugs. Here is a little chat app. Try to guess what happens if you press "Send" first and *then* change the recipient to Bob. Whose name will appear in the `alert` five seconds later?
+Este comportamiento lo ayuda a evitar errores sutiles. Aquí hay una pequeña aplicación de chat. Intenta adivinar qué sucede si presionas "Enviar" primero y *luego* cambias el destinatario a Bob. ¿El nombre de quién aparecerá en la `alerta` cinco segundos después?
@@ -274,19 +274,19 @@ import { useState } from 'react';
export default function Form() {
const [to, setTo] = useState('Alice');
- const [message, setMessage] = useState('Hello');
+ const [message, setMessage] = useState('Hola');
function handleSubmit(e) {
e.preventDefault();
setTimeout(() => {
- alert(`You said ${message} to ${to}`);
+ alert(`Usted le dijo ${message} a ${to}`);
}, 5000);
}
return (
);
}
@@ -314,13 +314,13 @@ label, textarea { margin-bottom: 10px; display: block; }
-Read **[State as a Snapshot](/learn/state-as-a-snapshot)** to learn why state appears "fixed" and unchanging inside the event handlers.
+Lea **[Estado como instantánea](/learn/state-as-a-snapshot)** para saber por qué el estado aparece "fijo" y sin cambios dentro de los controladores de eventos.
-## Queueing a series of state updates {/*queueing-a-series-of-state-updates*/}
+## Poner en cola una serie de actualizaciones de estado {/*queueing-a-series-of-state-updates*/}
-This component is buggy: clicking "+3" increments the score only once.
+Este componente tiene errores: hacer clic en «+3» incrementa la puntuación solo una vez.
@@ -342,7 +342,7 @@ export default function Counter() {
increment();
increment();
}}>+3
- Score: {score}
+ Puntaje: {score}
>
)
}
@@ -354,7 +354,7 @@ button { display: inline-block; margin: 10px; font-size: 20px; }
-[State as a Snapshot](/learn/state-as-a-snapshot) explains why this is happening. Setting state requests a new re-render, but does not change it in the already running code. So `score` continues to be `0` right after you call `setScore(score + 1)`.
+[Estado como instantánea](/learn/state-as-a-snapshot) explica por qué sucede esto. El estado de configuración solicita una nueva representación, pero no lo cambia en el código que ya se está ejecutando. Entonces `score` sigue siendo `0` justo después de llamar a `setScore(score + 1)`.
```js
console.log(score); // 0
@@ -366,7 +366,7 @@ setScore(score + 1); // setScore(0 + 1);
console.log(score); // 0
```
-You can fix this by passing an *updater function* when setting state. Notice how replacing `setScore(score + 1)` with `setScore(s => s + 1)` fixes the "+3" button. This lets you queue multiple state updates.
+Puede solucionar esto pasando una *función de actualización* al configurar el estado. Observe cómo reemplazar `setScore(score + 1)` con `setScore(s => s + 1)` corrige el botón "+3". Esto le permite poner en cola múltiples actualizaciones de estado.
@@ -388,7 +388,7 @@ export default function Counter() {
increment();
increment();
}}>+3
- Score: {score}
+ Puntaje: {score}
>
)
}
@@ -402,15 +402,15 @@ button { display: inline-block; margin: 10px; font-size: 20px; }
-Read **[Queueing a Series of State Updates](/learn/queueing-a-series-of-state-updates)** to learn how to queue a sequence of state updates.
+Lea **[Poner en cola una serie de actualizaciones de estado](/learn/queueing-a-series-of-state-updates)** para obtener información sobre cómo poner en cola una secuencia de actualizaciones de estado.
-## Updating objects in state {/*updating-objects-in-state*/}
+## Actualizar objetos en estado {/*updating-objects-in-state*/}
-State can hold any kind of JavaScript value, including objects. But you shouldn't change objects and arrays that you hold in the React state directly. Instead, when you want to update an object and array, you need to create a new one (or make a copy of an existing one), and then update the state to use that copy.
+El estado puede contener cualquier tipo de valor de JavaScript, incluidos los objetos. Pero no debe cambiar los objetos y arreglos que tiene en el estado de React directamente. En cambio, cuando desea actualizar un objeto y un arreglo, debe crear uno nuevo (o hacer una copia de uno existente) y luego actualizar el estado para usar esa copia.
-Usually, you will use the `...` spread syntax to copy objects and arrays that you want to change. For example, updating a nested object could look like this:
+Por lo general, usará la sintaxis de extensión `...` para copiar objetos y matrices que desea cambiar. Por ejemplo, actualizar un objeto anidado podría verse así:
@@ -518,7 +518,7 @@ img { width: 200px; height: 200px; }
-If copying objects in code gets tedious, you can use a library like [Immer](https://github.com/immerjs/use-immer) to reduce repetitive code:
+Si copiar objetos en el código se vuelve tedioso, puede usar una biblioteca como [Immer](https://github.com/immerjs/use-immer) para reducir el código repetitivo:
@@ -633,13 +633,13 @@ img { width: 200px; height: 200px; }
-Read **[Updating Objects in State](/learn/updating-objects-in-state)** to learn how to update objects correctly.
+Lea **[Actualizar objetos en el estado](/learn/updating-objects-in-state)** para aprender cómo actualizar objetos correctamente.
-## Updating arrays in state {/*updating-arrays-in-state*/}
+## Actualización de arreglos en estado {/*updating-arrays-in-state*/}
-Arrays are another type of mutable JavaScript objects you can store in state and should treat as read-only. Just like with objects, when you want to update an array stored in state, you need to create a new one (or make a copy of an existing one), and then set state to use the new array:
+Los arreglos son otro tipo de objetos de JavaScript mutables que puede almacenar en el estado y debe tratar como de solo lectura. Al igual que con los objetos, cuando desea actualizar un arreglo almacenado en el estado, se debe crear una nueva (o hacer una copia de una existente) y luego configurar el estado para utilizar el nuevo arreglo:
@@ -670,8 +670,8 @@ export default function BucketList() {
return (
<>
- Art Bucket List
- My list of art to see:
+ Lista de cubo de arte
+ Mi lista de arte para ver:
@@ -706,7 +706,7 @@ function ItemList({ artworks, onToggle }) {
-If copying arrays in code gets tedious, you can use a library like [Immer](https://github.com/immerjs/use-immer) to reduce repetitive code:
+Si copiar arreglos en el código se vuelve tedioso, puede usar una biblioteca como [Immer](https://github.com/immerjs/use-immer) para reducir el código repetitivo:
@@ -791,12 +791,12 @@ function ItemList({ artworks, onToggle }) {
-Read **[Updating Arrays in State](/learn/updating-arrays-in-state)** to learn how to update arrays correctly.
+Lea **[Actualización de arreglos en estado](/learn/updating-arrays-in-state)** para aprender a actualizar arreglos correctamente.
-## What's next? {/*whats-next*/}
+## ¿Que sigue? {/*whats-next*/}
-Head over to [Responding to Events](/learn/responding-to-events) to start reading this chapter page by page!
+Dirígete a [Responder a eventos](/learn/responding-to-events) para comenzar a leer este capítulo página por página.
-Or, if you're already familiar with these topics, why not read about [Managing State](/learn/managing-state)?
+O, si ya está familiarizado con estos temas, ¿por qué no lee sobre [Gestión del estado](/learn/managing-state)?
diff --git a/src/sidebarLearn.json b/src/sidebarLearn.json
index f55c5dc5c..bc6ed2968 100644
--- a/src/sidebarLearn.json
+++ b/src/sidebarLearn.json
@@ -86,7 +86,7 @@
]
},
{
- "title": "Adding Interactivity",
+ "title": "Agregar interactividad",
"path": "/learn/adding-interactivity",
"tags": [],
"routes": [
@@ -186,7 +186,7 @@
},
{
"title": "Eliminar dependencias de los Efectos",
- "path": "/learn/removing-effect-dependencies"
+ "path": "/learn/removing-effect-dependencies"
},
{
"title": "Reutilización de lógica con Hooks personalizados",
From 4fd4467c64672d87f421a139816c0a286d5e78f7 Mon Sep 17 00:00:00 2001
From: Joel Bello
Date: Wed, 24 May 2023 13:16:18 -0400
Subject: [PATCH 2/5] fixing pr comments
---
src/content/learn/adding-interactivity.md | 26 +++++++++++------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/src/content/learn/adding-interactivity.md b/src/content/learn/adding-interactivity.md
index 386350829..9d8d079ec 100644
--- a/src/content/learn/adding-interactivity.md
+++ b/src/content/learn/adding-interactivity.md
@@ -16,11 +16,11 @@ Algunas cosas en la pantalla se actualizan en respuesta a la entrada del usuario
* [Por qué el estado no se actualiza justo después de cambiarlo](/learn/state-as-a-snapshot)
* [Cómo poner en cola varias actualizaciones de estado](/learn/queueing-a-series-of-state-updates)
* [Cómo actualizar un objeto en estado](/learn/updating-objects-in-state)
-* [Cómo actualizar un arreglo en el estado](/learn/updating-arrays-in-state)
+* [Cómo actualizar un array en el estado](/learn/updating-arrays-in-state)
-## Respondiendo a eventos {/*responding-to-events*/}
+## Responder a eventos {/*responding-to-events*/}
React le permite agregar controladores de eventos a su JSX. Los controladores de eventos son sus propias funciones que se activarán en respuesta a las interacciones del usuario, como hacer clic, pasar el mouse, enfocarse en las entradas del formulario, etc.
@@ -32,8 +32,8 @@ Los componentes integrados como `` solo admiten eventos de navegador int
export default function App() {
return (
alert('Jugando!')}
- onUploadImage={() => alert('Cargando!')}
+ onPlayMovie={() => alert('Reproduciendo!')}
+ onUploadImage={() => alert('¡Cargando!')}
/>
);
}
@@ -279,7 +279,7 @@ export default function Form() {
function handleSubmit(e) {
e.preventDefault();
setTimeout(() => {
- alert(`Usted le dijo ${message} a ${to}`);
+ alert(`tú le dijiste ${message} a ${to}`);
}, 5000);
}
@@ -320,7 +320,7 @@ Lea **[Estado como instantánea](/learn/state-as-a-snapshot)** para saber por qu
## Poner en cola una serie de actualizaciones de estado {/*queueing-a-series-of-state-updates*/}
-Este componente tiene errores: hacer clic en «+3» incrementa la puntuación solo una vez.
+Este componente tiene errores: hacer clic en "+3" incrementa la puntuación solo una vez.
@@ -408,9 +408,9 @@ Lea **[Poner en cola una serie de actualizaciones de estado](/learn/queueing-a-s
## Actualizar objetos en estado {/*updating-objects-in-state*/}
-El estado puede contener cualquier tipo de valor de JavaScript, incluidos los objetos. Pero no debe cambiar los objetos y arreglos que tiene en el estado de React directamente. En cambio, cuando desea actualizar un objeto y un arreglo, debe crear uno nuevo (o hacer una copia de uno existente) y luego actualizar el estado para usar esa copia.
+El estado puede contener cualquier tipo de valor de JavaScript, incluidos los objetos. Pero no debe cambiar los objetos y arrays que tiene en el estado de React directamente. En cambio, cuando desea actualizar un objeto y un array, debe crear uno nuevo (o hacer una copia de uno existente) y luego actualizar el estado para usar esa copia.
-Por lo general, usará la sintaxis de extensión `...` para copiar objetos y matrices que desea cambiar. Por ejemplo, actualizar un objeto anidado podría verse así:
+Por lo general, usará la sintaxis de propagación `...` para copiar objetos y matrices que desea cambiar. Por ejemplo, actualizar un objeto
@@ -637,9 +637,9 @@ Lea **[Actualizar objetos en el estado](/learn/updating-objects-in-state)** para
-## Actualización de arreglos en estado {/*updating-arrays-in-state*/}
+## Actualización de arrays en estado {/*updating-arrays-in-state*/}
-Los arreglos son otro tipo de objetos de JavaScript mutables que puede almacenar en el estado y debe tratar como de solo lectura. Al igual que con los objetos, cuando desea actualizar un arreglo almacenado en el estado, se debe crear una nueva (o hacer una copia de una existente) y luego configurar el estado para utilizar el nuevo arreglo:
+Los arrays son otro tipo de objetos de JavaScript mutables que puede almacenar en el estado y debe tratar como de solo lectura. Al igual que con los objetos, cuando desea actualizar un array almacenado en el estado, se debe crear una nueva (o hacer una copia de una existente) y luego configurar el estado para utilizar el nuevo array:
@@ -706,7 +706,7 @@ function ItemList({ artworks, onToggle }) {
-Si copiar arreglos en el código se vuelve tedioso, puede usar una biblioteca como [Immer](https://github.com/immerjs/use-immer) para reducir el código repetitivo:
+Si copiar arrays en el código se vuelve tedioso, puede usar una biblioteca como [Immer](https://github.com/immerjs/use-immer) para reducir el código repetitivo:
@@ -791,11 +791,11 @@ function ItemList({ artworks, onToggle }) {
-Lea **[Actualización de arreglos en estado](/learn/updating-arrays-in-state)** para aprender a actualizar arreglos correctamente.
+Lea **[Actualización de arrays en estado](/learn/updating-arrays-in-state)** para aprender a actualizar arrays correctamente.
-## ¿Que sigue? {/*whats-next*/}
+## ¿Qué sigue? {/*whats-next*/}
Dirígete a [Responder a eventos](/learn/responding-to-events) para comenzar a leer este capítulo página por página.
From cc2d194cfd0a50a35b696bec0731e47836d68c91 Mon Sep 17 00:00:00 2001
From: Joel Bello
Date: Wed, 24 May 2023 14:16:53 -0400
Subject: [PATCH 3/5] Update adding-interactivity.md
---
src/content/learn/adding-interactivity.md | 86 +++++++++++------------
1 file changed, 43 insertions(+), 43 deletions(-)
diff --git a/src/content/learn/adding-interactivity.md b/src/content/learn/adding-interactivity.md
index 9d8d079ec..d38a4b025 100644
--- a/src/content/learn/adding-interactivity.md
+++ b/src/content/learn/adding-interactivity.md
@@ -4,7 +4,7 @@ title: Agregar interactividad
-Algunas cosas en la pantalla se actualizan en respuesta a la entrada del usuario. Por ejemplo, hacer clic en una galería de imágenes cambia la imagen activa. En React, los datos que cambian con el tiempo se denominan *estado.* Puede agregar estado a cualquier componente y actualizarlo según sea necesario. En este capítulo, aprenderá a escribir componentes que manejen interacciones, actualicen su estado y muestren resultados diferentes a lo largo del tiempo.
+Algunas cosas en la pantalla se actualizan en respuesta a la entrada del usuario. Por ejemplo, hacer clic en una galería de imágenes cambia la imagen activa. En React, los datos que cambian con el tiempo se denominan *estado.* Puede agregar estado a cualquier componente y actualizarlo según sea necesario. En este capítulo, aprenderá a escribir componentes que manejen interacciones, actualicen tú estado y muestren resultados diferentes a lo largo del tiempo.
@@ -15,16 +15,16 @@ Algunas cosas en la pantalla se actualizan en respuesta a la entrada del usuario
* [Cómo React actualiza la interfaz de usuario en dos fases](/learn/render-and-commit)
* [Por qué el estado no se actualiza justo después de cambiarlo](/learn/state-as-a-snapshot)
* [Cómo poner en cola varias actualizaciones de estado](/learn/queueing-a-series-of-state-updates)
-* [Cómo actualizar un objeto en estado](/learn/updating-objects-in-state)
+* [Cómo actualizar un objeto en el estado](/learn/updating-objects-in-state)
* [Cómo actualizar un array en el estado](/learn/updating-arrays-in-state)
## Responder a eventos {/*responding-to-events*/}
-React le permite agregar controladores de eventos a su JSX. Los controladores de eventos son sus propias funciones que se activarán en respuesta a las interacciones del usuario, como hacer clic, pasar el mouse, enfocarse en las entradas del formulario, etc.
+React le permite agregar controladores de eventos a su JSX. Los controladores de eventos son tus propias funciones que se activarán en respuesta a las interacciones del usuario, como hacer clic, pasar el mouse, enfocarse en las entradas del formulario, etc.
-Los componentes integrados como `` solo admiten eventos de navegador integrados como `onClick`. Sin embargo, también puede crear sus propios componentes y dar a sus accesorios de controlador de eventos los nombres específicos de la aplicación que desee.
+Los componentes integrados como `` solo admiten eventos de navegador integrados como `onClick`. Sin embargo, también puedes crear tus propios componentes y dar a tus accesorios de controlador de eventos los nombres específicos de la aplicación que desees.
@@ -32,7 +32,7 @@ Los componentes integrados como `` solo admiten eventos de navegador int
export default function App() {
return (
alert('Reproduciendo!')}
+ onPlayMovie={() => alert('¡Reproduciendo!')}
onUploadImage={() => alert('¡Cargando!')}
/>
);
@@ -72,11 +72,11 @@ Lea **[Responder a eventos](/learn/responding-to-events)** para aprender cómo a
-## Estado: la memoria de un componente {/*state-a-components-memory*/}
+## El estado: la memoria de un componente {/*state-a-components-memory*/}
Los componentes a menudo necesitan cambiar lo que aparece en la pantalla como resultado de una interacción. Escribir en el formulario debería actualizar el campo de entrada, hacer clic en "siguiente" en un carrusel de imágenes debería cambiar la imagen que se muestra, hacer clic en "comprar" pone un producto en el carrito de compras. Los componentes necesitan "recordar" cosas: el valor de entrada actual, la imagen actual, el carrito de compras. En React, este tipo de memoria específica del componente se llama *estado*.
-Puede agregar estado a un componente con un [`useState`](/reference/react/useState) Hook. Los *Hooks* son funciones especiales que permiten que sus componentes usen funciones de React (el estado es una de esas funciones). `useState` Hook te permite declarar una variable de estado. Toma el estado inicial y devuelve un par de valores: el estado actual y una función de establecimiento de estado que le permite actualizarlo.
+Puede agregar estado a un componente con un [`useState`](/reference/react/useState) Hook. Los *Hooks* son funciones especiales que permiten que tus componentes usen funciones de React (el estado es una de esas funciones). `useState` Hook te permite declarar una variable de estado. Toma el estado inicial y devuelve un par de valores: el estado actual y una función de establecimiento de estado que le permite actualizarlo.
```js
const [index, setIndex] = useState(0);
@@ -148,7 +148,7 @@ export const sculptureList = [{
url: 'https://i.imgur.com/ZF6s192m.jpg',
alt: 'Una gigantesca escultura de flor metálica con pétalos reflectantes como espejos y fuertes estambres.'
}, {
- name: 'Presencia eterna',
+ name: 'Eternal Presence',
artist: 'John Woodrow Wilson',
description: 'Wilson era conocido por su preocupación por la igualdad, la justicia social, así como por las cualidades esenciales y espirituales de la humanidad. Este bronce masivo (7 pies o 2,13 m) representa lo que él describió como "una presencia negra simbólica infundida con un sentido de humanidad universal"."',
url: 'https://i.imgur.com/aTtVpES.jpg',
@@ -233,20 +233,20 @@ Lea **[El estado: la memoria de un componente](/learn/state-a-components-memory)
-## Renderizar y confirmar {/*render-and-commit*/}
+## Renderizado y confirmación {/*render-and-commit*/}
-Antes de que sus componentes se muestren en la pantalla, deben ser renderizados por React. Comprender los pasos de este proceso lo ayudará a pensar en cómo se ejecuta su código y explicar su comportamiento.
+Antes de que tus componentes se muestren en la pantalla, deben ser renderizados por React. Comprender los pasos de este proceso te ayudará a pensar en cómo se ejecuta tú código y explicar su comportamiento.
-Imagine que sus componentes son cocineros en la cocina, ensamblando sabrosos platos a partir de ingredientes. En este escenario, React es el camarero que presenta las solicitudes de los clientes y les trae sus pedidos. Este proceso de solicitud y servicio de UI consta de tres pasos:
+Imagina que tus componentes son cocineros en la cocina, montando sabrosos platos a partir de los ingredientes. En este escenario, React es el camarero que hace las peticiones de los clientes y les trae sus pedidos. Este proceso de solicitud y servicio de UI tiene tres pasos:
-1. **Desencadenante** un render (entregar el pedido del comensal a la cocina)
-2. **Renderizando** el componente (preparando el pedido en la cocina)
-3. **Confirmando** el DOM (colocando el pedido en la mesa)
+1. **Desencadenamiento** de un renderizado (entrega del pedido del cliente a la cocina)
+2. **Renderizado** del componente (preparación del pedido en la cocina)
+3. **Confirmación** con el DOM (poner el pedido sobre la mesa)
-
-
-
+
+
+
@@ -255,14 +255,14 @@ Lea **[Renderizado y confirmación](/learn/render-and-commit)** para conocer el
-## Estado como una instantánea {/*state-as-a-snapshot*/}
+## El estado como una instantánea
A diferencia de las variables regulares de JavaScript, el estado React se comporta más como una instantánea. Configurarlo no cambia la variable de estado que ya tiene, sino que activa una nueva representación. ¡Esto puede ser sorprendente al principio!
```js
console.log(count); // 0
-setCount(count + 1); // Request a re-render with 1
-console.log(count); // Still 0!
+setCount(count + 1); // Solicitar una nueva representación con 1.
+console.log(count); // ¡Todavía 0!
```
Este comportamiento lo ayuda a evitar errores sutiles. Aquí hay una pequeña aplicación de chat. Intenta adivinar qué sucede si presionas "Enviar" primero y *luego* cambias el destinatario a Bob. ¿El nombre de quién aparecerá en la `alerta` cinco segundos después?
@@ -279,7 +279,7 @@ export default function Form() {
function handleSubmit(e) {
e.preventDefault();
setTimeout(() => {
- alert(`tú le dijiste ${message} a ${to}`);
+ alert(`Le dijiste ${message} a ${to}`);
}, 5000);
}
@@ -314,7 +314,7 @@ label, textarea { margin-bottom: 10px; display: block; }
-Lea **[Estado como instantánea](/learn/state-as-a-snapshot)** para saber por qué el estado aparece "fijo" y sin cambios dentro de los controladores de eventos.
+Lea **[El estado como una instantánea](/learn/state-as-a-snapshot)** para saber por qué el estado aparece "fijo" y sin cambios dentro de los controladores de eventos.
@@ -354,7 +354,7 @@ button { display: inline-block; margin: 10px; font-size: 20px; }
-[Estado como instantánea](/learn/state-as-a-snapshot) explica por qué sucede esto. El estado de configuración solicita una nueva representación, pero no lo cambia en el código que ya se está ejecutando. Entonces `score` sigue siendo `0` justo después de llamar a `setScore(score + 1)`.
+[El estado como una instantánea](/learn/state-as-a-snapshot) explica por qué sucede esto. El estado de configuración solicita una nueva representación, pero no lo cambia en el código que ya se está ejecutando. Entonces `score` sigue siendo `0` justo después de llamar a `setScore(score + 1)`.
```js
console.log(score); // 0
@@ -402,15 +402,15 @@ button { display: inline-block; margin: 10px; font-size: 20px; }
-Lea **[Poner en cola una serie de actualizaciones de estado](/learn/queueing-a-series-of-state-updates)** para obtener información sobre cómo poner en cola una secuencia de actualizaciones de estado.
+Lea **[Poner en cola una serie de actualizaciones del estado](/learn/queueing-a-series-of-state-updates)** para obtener información sobre cómo poner en cola una secuencia de actualizaciones de estado.
-## Actualizar objetos en estado {/*updating-objects-in-state*/}
+## Actualizar objetos en el estado {/*updating-objects-in-state*/}
El estado puede contener cualquier tipo de valor de JavaScript, incluidos los objetos. Pero no debe cambiar los objetos y arrays que tiene en el estado de React directamente. En cambio, cuando desea actualizar un objeto y un array, debe crear uno nuevo (o hacer una copia de uno existente) y luego actualizar el estado para usar esa copia.
-Por lo general, usará la sintaxis de propagación `...` para copiar objetos y matrices que desea cambiar. Por ejemplo, actualizar un objeto
+Por lo general, usará la sintaxis de propagación `...` para copiar objetos y arrays que desea cambiar. Por ejemplo, actualizar un objeto
@@ -422,7 +422,7 @@ export default function Form() {
name: 'Niki de Saint Phalle',
artwork: {
title: 'Blue Nana',
- city: 'Hamburg',
+ city: 'Hamburgo',
image: 'https://i.imgur.com/Sd1AgUOm.jpg',
}
});
@@ -467,28 +467,28 @@ export default function Form() {
return (
<>
- Name:
+ Nombre:
- Title:
+ Título:
- City:
+ Ciudad:
- Image:
+ Imagen:
- (located in {person.artwork.city})
+ (ubicado en {person.artwork.city})
- Name:
+ Nombre:
- Title:
+ Título:
- City:
+ Ciudad:
- Image:
+ Imagen:
- (located in {person.artwork.city})
+ (ubicado en {person.artwork.city})
-## Actualización de arrays en estado {/*updating-arrays-in-state*/}
+## Actualizar arrays en el estado {/*updating-arrays-in-state*/}
Los arrays son otro tipo de objetos de JavaScript mutables que puede almacenar en el estado y debe tratar como de solo lectura. Al igual que con los objetos, cuando desea actualizar un array almacenado en el estado, se debe crear una nueva (o hacer una copia de una existente) y luego configurar el estado para utilizar el nuevo array:
@@ -670,7 +670,7 @@ export default function BucketList() {
return (
<>
- Lista de cubo de arte
+ Lista de deseos de arte
Mi lista de arte para ver:
- Art Bucket List
- My list of art to see:
+ Lista de deseos de arte
+ Mi lista de arte para ver:
@@ -791,7 +791,7 @@ function ItemList({ artworks, onToggle }) {
-Lea **[Actualización de arrays en estado](/learn/updating-arrays-in-state)** para aprender a actualizar arrays correctamente.
+Lea **[Actualizar arrays en el estado](/learn/updating-arrays-in-state)** para aprender a actualizar arrays correctamente.
From 6caf172dc23e0ddf8a3fb100d6f5108664230051 Mon Sep 17 00:00:00 2001
From: Rainer Martinez
Date: Wed, 24 May 2023 19:45:18 -0400
Subject: [PATCH 4/5] Update adding-interactivity.md
---
src/content/learn/adding-interactivity.md | 46 +++++++++++------------
1 file changed, 23 insertions(+), 23 deletions(-)
diff --git a/src/content/learn/adding-interactivity.md b/src/content/learn/adding-interactivity.md
index d38a4b025..240d8feb1 100644
--- a/src/content/learn/adding-interactivity.md
+++ b/src/content/learn/adding-interactivity.md
@@ -4,7 +4,7 @@ title: Agregar interactividad
-Algunas cosas en la pantalla se actualizan en respuesta a la entrada del usuario. Por ejemplo, hacer clic en una galería de imágenes cambia la imagen activa. En React, los datos que cambian con el tiempo se denominan *estado.* Puede agregar estado a cualquier componente y actualizarlo según sea necesario. En este capítulo, aprenderá a escribir componentes que manejen interacciones, actualicen tú estado y muestren resultados diferentes a lo largo del tiempo.
+Algunas cosas en la pantalla se actualizan en respuesta a la entrada del usuario. Por ejemplo, hacer clic en una galería de imágenes cambia la imagen activa. En React, los datos que cambian con el tiempo se denominan *estado.* Puedes agregar estado a cualquier componente y actualizarlo según sea necesario. En este capítulo, aprenderás a escribir componentes que manejen interacciones, actualicen tu estado y muestren resultados diferentes a lo largo del tiempo.
@@ -22,9 +22,9 @@ Algunas cosas en la pantalla se actualizan en respuesta a la entrada del usuario
## Responder a eventos {/*responding-to-events*/}
-React le permite agregar controladores de eventos a su JSX. Los controladores de eventos son tus propias funciones que se activarán en respuesta a las interacciones del usuario, como hacer clic, pasar el mouse, enfocarse en las entradas del formulario, etc.
+React te permite agregar manejadores de eventos a tu JSX. Los manejadores de eventos son tus propias funciones que se activarán en respuesta a las interacciones del usuario, como hacer clic, pasar el mouse, enfocarse en las entradas de un formulario, etc.
-Los componentes integrados como `` solo admiten eventos de navegador integrados como `onClick`. Sin embargo, también puedes crear tus propios componentes y dar a tus accesorios de controlador de eventos los nombres específicos de la aplicación que desees.
+Los componentes integrados como `` solo admiten eventos de navegador integrados como `onClick`. Sin embargo, también puedes crear tus propios componentes y darle a sus props de manejadores de eventos los nombres específicos de la aplicación que desees.
@@ -68,7 +68,7 @@ button { margin-right: 10px; }
-Lea **[Responder a eventos](/learn/responding-to-events)** para aprender cómo agregar controladores de eventos..
+Lee **[Responder a eventos](/learn/responding-to-events)** para aprender cómo agregar manejadores de eventos.
@@ -76,7 +76,7 @@ Lea **[Responder a eventos](/learn/responding-to-events)** para aprender cómo a
Los componentes a menudo necesitan cambiar lo que aparece en la pantalla como resultado de una interacción. Escribir en el formulario debería actualizar el campo de entrada, hacer clic en "siguiente" en un carrusel de imágenes debería cambiar la imagen que se muestra, hacer clic en "comprar" pone un producto en el carrito de compras. Los componentes necesitan "recordar" cosas: el valor de entrada actual, la imagen actual, el carrito de compras. En React, este tipo de memoria específica del componente se llama *estado*.
-Puede agregar estado a un componente con un [`useState`](/reference/react/useState) Hook. Los *Hooks* son funciones especiales que permiten que tus componentes usen funciones de React (el estado es una de esas funciones). `useState` Hook te permite declarar una variable de estado. Toma el estado inicial y devuelve un par de valores: el estado actual y una función de establecimiento de estado que le permite actualizarlo.
+Puedes agregar estado a un componente con un [`useState`](/reference/react/useState) Hook. Los *Hooks* son funciones especiales que permiten que tus componentes usen funciones de React (el estado es una de esas funciones). El Hook `useState` te permite declarar una variable de estado. Toma el estado inicial y devuelve un par de valores: el estado actual y una función de establecimiento de estado que te permite actualizarlo.
```js
const [index, setIndex] = useState(0);
@@ -229,13 +229,13 @@ button {
-Lea **[El estado: la memoria de un componente](/learn/state-a-components-memory)** para aprender a recordar un valor y actualizarlo en la interacción.
+Lee **[El estado: la memoria de un componente](/learn/state-a-components-memory)** para aprender a recordar un valor y actualizarlo en la interacción.
## Renderizado y confirmación {/*render-and-commit*/}
-Antes de que tus componentes se muestren en la pantalla, deben ser renderizados por React. Comprender los pasos de este proceso te ayudará a pensar en cómo se ejecuta tú código y explicar su comportamiento.
+Antes de que tus componentes se muestren en la pantalla, deben ser renderizados por React. Comprender los pasos de este proceso te ayudará a pensar en cómo se ejecuta tu código y explicar su comportamiento.
Imagina que tus componentes son cocineros en la cocina, montando sabrosos platos a partir de los ingredientes. En este escenario, React es el camarero que hace las peticiones de los clientes y les trae sus pedidos. Este proceso de solicitud y servicio de UI tiene tres pasos:
@@ -251,21 +251,21 @@ Imagina que tus componentes son cocineros en la cocina, montando sabrosos platos
-Lea **[Renderizado y confirmación](/learn/render-and-commit)** para conocer el ciclo de vida de una actualización de la interfaz de usuario.
+Lee **[Renderizado y confirmación](/learn/render-and-commit)** para conocer el ciclo de vida de una actualización de la interfaz de usuario.
## El estado como una instantánea
-A diferencia de las variables regulares de JavaScript, el estado React se comporta más como una instantánea. Configurarlo no cambia la variable de estado que ya tiene, sino que activa una nueva representación. ¡Esto puede ser sorprendente al principio!
+A diferencia de las variables regulares de JavaScript, el estado de React se comporta más como una instantánea. Establecerlo no cambia la variable de estado que ya tienes, sino que activa una nuevo renderizado. ¡Esto puede ser sorprendente al principio!
```js
console.log(count); // 0
-setCount(count + 1); // Solicitar una nueva representación con 1.
+setCount(count + 1); // Solicitar un nuevo renderizado con 1.
console.log(count); // ¡Todavía 0!
```
-Este comportamiento lo ayuda a evitar errores sutiles. Aquí hay una pequeña aplicación de chat. Intenta adivinar qué sucede si presionas "Enviar" primero y *luego* cambias el destinatario a Bob. ¿El nombre de quién aparecerá en la `alerta` cinco segundos después?
+Este comportamiento te ayuda a evitar errores sutiles. Aquí hay una pequeña aplicación de chat. Intenta adivinar qué sucede si presionas "Enviar" primero y *luego* cambias el destinatario a Bob. ¿El nombre de quién aparecerá en la `alerta` cinco segundos después?
@@ -314,7 +314,7 @@ label, textarea { margin-bottom: 10px; display: block; }
-Lea **[El estado como una instantánea](/learn/state-as-a-snapshot)** para saber por qué el estado aparece "fijo" y sin cambios dentro de los controladores de eventos.
+Lee **[El estado como una instantánea](/learn/state-as-a-snapshot)** para saber por qué el estado aparece "fijo" y sin cambios dentro de los manejadores de eventos.
@@ -354,7 +354,7 @@ button { display: inline-block; margin: 10px; font-size: 20px; }
-[El estado como una instantánea](/learn/state-as-a-snapshot) explica por qué sucede esto. El estado de configuración solicita una nueva representación, pero no lo cambia en el código que ya se está ejecutando. Entonces `score` sigue siendo `0` justo después de llamar a `setScore(score + 1)`.
+[El estado como una instantánea](/learn/state-as-a-snapshot) explica por qué sucede esto. Al establecer el estado se solicita un nuevo rerenderizado, pero no lo cambia en el código que ya se está ejecutando. Entonces `score` sigue siendo `0` justo después de llamar a `setScore(score + 1)`.
```js
console.log(score); // 0
@@ -366,7 +366,7 @@ setScore(score + 1); // setScore(0 + 1);
console.log(score); // 0
```
-Puede solucionar esto pasando una *función de actualización* al configurar el estado. Observe cómo reemplazar `setScore(score + 1)` con `setScore(s => s + 1)` corrige el botón "+3". Esto le permite poner en cola múltiples actualizaciones de estado.
+Puedes solucionar esto pasando una *función de actualización* al configurar el estado. Observa cómo reemplazar `setScore(score + 1)` con `setScore(s => s + 1)` corrige el botón "+3". Esto te permite poner en cola múltiples actualizaciones de estado.
@@ -402,15 +402,15 @@ button { display: inline-block; margin: 10px; font-size: 20px; }
-Lea **[Poner en cola una serie de actualizaciones del estado](/learn/queueing-a-series-of-state-updates)** para obtener información sobre cómo poner en cola una secuencia de actualizaciones de estado.
+Lee **[Poner en cola una serie de actualizaciones del estado](/learn/queueing-a-series-of-state-updates)** para obtener información sobre cómo poner en cola una secuencia de actualizaciones de estado.
## Actualizar objetos en el estado {/*updating-objects-in-state*/}
-El estado puede contener cualquier tipo de valor de JavaScript, incluidos los objetos. Pero no debe cambiar los objetos y arrays que tiene en el estado de React directamente. En cambio, cuando desea actualizar un objeto y un array, debe crear uno nuevo (o hacer una copia de uno existente) y luego actualizar el estado para usar esa copia.
+El estado puede contener cualquier tipo de valor de JavaScript, incluidos los objetos. Pero no debes cambiar los objetos y arrays que tienes en el estado de React directamente. En cambio, cuando desees actualizar un objeto y un array, debes crear uno nuevo (o hacer una copia de uno existente) y luego actualizar el estado para usar esa copia.
-Por lo general, usará la sintaxis de propagación `...` para copiar objetos y arrays que desea cambiar. Por ejemplo, actualizar un objeto
+Por lo general, usarás la sintaxis de propagación `...` para copiar objetos y arrays que desees cambiar. Por ejemplo, actualizar un objeto
@@ -518,7 +518,7 @@ img { width: 200px; height: 200px; }
-Si copiar objetos en el código se vuelve tedioso, puede usar una biblioteca como [Immer](https://github.com/immerjs/use-immer) para reducir el código repetitivo:
+Si copiar objetos en el código se vuelve tedioso, puedes usar una biblioteca como [Immer](https://github.com/immerjs/use-immer) para reducir el código repetitivo:
@@ -633,13 +633,13 @@ img { width: 200px; height: 200px; }
-Lea **[Actualizar objetos en el estado](/learn/updating-objects-in-state)** para aprender cómo actualizar objetos correctamente.
+Lee **[Actualizar objetos en el estado](/learn/updating-objects-in-state)** para aprender cómo actualizar objetos correctamente.
## Actualizar arrays en el estado {/*updating-arrays-in-state*/}
-Los arrays son otro tipo de objetos de JavaScript mutables que puede almacenar en el estado y debe tratar como de solo lectura. Al igual que con los objetos, cuando desea actualizar un array almacenado en el estado, se debe crear una nueva (o hacer una copia de una existente) y luego configurar el estado para utilizar el nuevo array:
+Los arrays son otro tipo de objetos de JavaScript mutables que puedes almacenar en el estado y debes tratar como de solo lectura. Al igual que con los objetos, cuando deseas actualizar un array almacenado en el estado, se debe crear uno nuevo (o hacer una copia de uno existente) y luego configurar el estado para utilizar el nuevo array:
@@ -706,7 +706,7 @@ function ItemList({ artworks, onToggle }) {
-Si copiar arrays en el código se vuelve tedioso, puede usar una biblioteca como [Immer](https://github.com/immerjs/use-immer) para reducir el código repetitivo:
+Si copiar arrays en el código se vuelve tedioso, puedes usar una biblioteca como [Immer](https://github.com/immerjs/use-immer) para reducir el código repetitivo:
@@ -791,7 +791,7 @@ function ItemList({ artworks, onToggle }) {
-Lea **[Actualizar arrays en el estado](/learn/updating-arrays-in-state)** para aprender a actualizar arrays correctamente.
+Lee **[Actualizar arrays en el estado](/learn/updating-arrays-in-state)** para aprender a actualizar arrays correctamente.
@@ -799,4 +799,4 @@ Lea **[Actualizar arrays en el estado](/learn/updating-arrays-in-state)** para a
Dirígete a [Responder a eventos](/learn/responding-to-events) para comenzar a leer este capítulo página por página.
-O, si ya está familiarizado con estos temas, ¿por qué no lee sobre [Gestión del estado](/learn/managing-state)?
+O, si ya estás familiarizado con estos temas, ¿por qué no lees sobre [Gestión del estado](/learn/managing-state)?
From d1174b77552ea9365793d0f5d0f66f83aa1287a7 Mon Sep 17 00:00:00 2001
From: Rainer Martinez
Date: Wed, 24 May 2023 19:51:22 -0400
Subject: [PATCH 5/5] fix missing heading
---
src/content/learn/adding-interactivity.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/content/learn/adding-interactivity.md b/src/content/learn/adding-interactivity.md
index 240d8feb1..7ba0da32e 100644
--- a/src/content/learn/adding-interactivity.md
+++ b/src/content/learn/adding-interactivity.md
@@ -255,7 +255,7 @@ Lee **[Renderizado y confirmación](/learn/render-and-commit)** para conocer el
-## El estado como una instantánea
+## El estado como una instantánea {/*state-as-a-snapshot*/}
A diferencia de las variables regulares de JavaScript, el estado de React se comporta más como una instantánea. Establecerlo no cambia la variable de estado que ya tienes, sino que activa una nuevo renderizado. ¡Esto puede ser sorprendente al principio!