From b84734699d1156de0b74dde0c782efaaf50d1640 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rainer=20Mart=C3=ADnez=20Fraga?= Date: Mon, 10 Oct 2022 19:33:47 -0400 Subject: [PATCH 1/4] add codebase to glossary --- TRANSLATION.md | 1 + .../content/learn/updating-arrays-in-state.md | 344 +++++++++--------- 2 files changed, 173 insertions(+), 172 deletions(-) diff --git a/TRANSLATION.md b/TRANSLATION.md index 731344e2f..0dda5b315 100644 --- a/TRANSLATION.md +++ b/TRANSLATION.md @@ -159,6 +159,7 @@ Aquí hay algunas sugerencias para la traducción de términos de uso común en | bundler | *bundler* | | callback | *callback* | | camelCase | *camelCase* | +| codebase | base de código | | controlled component | componente controlado | | debugging | depuración | | event handler | manejador de eventos | diff --git a/beta/src/content/learn/updating-arrays-in-state.md b/beta/src/content/learn/updating-arrays-in-state.md index eae89facf..dca8254fa 100644 --- a/beta/src/content/learn/updating-arrays-in-state.md +++ b/beta/src/content/learn/updating-arrays-in-state.md @@ -1,52 +1,52 @@ --- -title: Updating Arrays in State +title: Actualizando arreglos en el estado --- -Arrays are mutable in JavaScript, but you should treat them as immutable when you store them in state. 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 mutables en JavaScript, pero tú podrías tratarlos como inmutables cuando los almacenas en el estado. Justo como los objetos, cuando quieras actualizar un arreglo almacenado en el estado, necesitas crear uno nuevo ( o hacer una copia de uno existente), luego almacenarlo en el estado para hacer uso de este nuevo arreglo. -- How to add, remove, or change items in an array in React state -- How to update an object inside of an array -- How to make array copying less repetitive with Immer +- Cómo añadir, remover, o cambiar items en un arreglo en el estado de React +- Cómo actualizar un objeto dentro de un arreglo +- Cómo copiar un arreglo de forma menos repetitiva con Immer -## Updating arrays without mutation {/*updating-arrays-without-mutation*/} +## Actualizando arreglos sin mutación {/*updating-arrays-without-mutation*/} -In JavaScript, arrays are just another kind of object. [Like with objects](/learn/updating-objects-in-state), **you should treat arrays in React state as read-only.** This means that you shouldn't reassign items inside an array like `arr[0] = 'bird'`, and you also shouldn't use methods that mutate the array, such as `push()` and `pop()`. +En JavaScript, los arreglos son sólo otro tipo de objeto. [Como con los objetos](/learn/updating-objects-in-state), **deberías tratar los arreglos en estado React como solo lectura.** Esto significa que no deberías reasignar elementos dentro de un arreglo como `arr[0] = 'pájaro'`, y tampoco deberías usar métodos que puedan mutar el arreglo, como `push()` y `pop()`. -Instead, every time you want to update an array, you'll want to pass a *new* array to your state setting function. To do that, you can create a new array from the original array in your state by calling its non-mutating methods like `filter()` and `map()`. Then you can set your state to the resulting new array. +En su lugar, cada vez que quieras actualizar un arreglo, querrás pasar un, *nuevo* arreglo a su función de configuración de estado.Para hacer eso, puedes crear un nuevo arreglo a partir de el arreglo original en su estado llamando a sus métodos no mutantes como `filter()` por `map()`. Luego puede establecer su estado a partir de un nuevo arreglo. -Here is a reference table of common array operations. When dealing with arrays inside React state, you will need to avoid the methods in the left column, and instead prefer the methods in the right column: +Aquí hay una tabla de referencia con las operaciones más comunes con arreglos. Cuando se trata de arreglos dentro de el estado de React, necesitarás evitar los métodos de la columna izquierda, y en su lugar es preferible usar los métodos de la columna derecha. -| | avoid (mutates the array) | prefer (returns a new array) | -| --------- | ----------------------------------- | ------------------------------------------------------------------- | -| adding | `push`, `unshift` | `concat`, `[...arr]` spread syntax ([example](#adding-to-an-array)) | -| removing | `pop`, `shift`, `splice` | `filter`, `slice` ([example](#removing-from-an-array)) | -| replacing | `splice`, `arr[i] = ...` assignment | `map` ([example](#replacing-items-in-an-array)) | -| sorting | `reverse`, `sort` | copy the array first ([example](#making-other-changes-to-an-array)) | +| | evita (muta el arreglo) | preferido (retorna un nuevo arreglo) | +|--------------|------------------------------------------|------------------------------------------------------------------------------| +| añadiendo | `push`, `unshift` | `concat`, `[...arr]` operador de propagación ([ejemplo](#adding-to-an-array))| +| removiendo | `pop`, `shift`, `splice` | `filter`, `slice` ([ejemplo](#removing-from-an-array)) | +| reemplazando | `splice`, `arr[i] = ...` asigna | `map` ([ejemplo](#replacing-items-in-an-array)) | +| ordenando | `reverse`, `sort` | copia el arreglo primero ([ejemplo](#making-other-changes-to-an-array)) | -Alternatively, you can [use Immer](#write-concise-update-logic-with-immer) which lets you use methods from both columns. +Alternativamente, tú puedes [usar Immer](#write-concise-update-logic-with-immer) el cual te permite usar métodos de ambas columnas. -Unfortunately, [`slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice) and [`splice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice) are named similarly but are very different: +Desafortunadamente, [`slice`](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/slice) and [`splice`](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/splice) están nombrados de forma similar pero estos son my diferentes: -* `slice` lets you copy an array or a part of it. -* `splice` **mutates** the array (to insert or delete items). +* `slice` te permite copiar un arreglo o una parte del mismo. +* `splice` **muta** el arreglo (para insertar o eliminar elementos). -In React, you will be using `slice` (no `p`!) a lot more often because you don't want to mutate objects or arrays in state. [Updating Objects](/learn/updating-objects-in-state) explains what mutation is and why it's not recommended for state. +En React, estarás usando `slice` (no `p`!) mucho más seguido porque no quieres mutar objetos o arreglos en el estado. [Actualizando objetos](/learn/updating-objects-in-state) explica qué es mutación y por qué esto no es recomendado para el estado. -### Adding to an array {/*adding-to-an-array*/} +### Añadiendo un arreglo {/*adding-to-an-array*/} -`push()` will mutate an array, which you don't want: +`push()` muta un arreglo, lo cual no queremos: @@ -61,7 +61,7 @@ export default function List() { return ( <> -

Inspiring sculptors:

+

Escultores inspiradores:

setName(e.target.value)} @@ -72,7 +72,7 @@ export default function List() { id: nextId++, name: name, }); - }}>Add + }}>Añadir