Skip to content

Commit b1ec542

Browse files
committed
Resolve merge conflicts
1 parent 5769931 commit b1ec542

35 files changed

+75
-1980
lines changed

README.md

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,11 @@ Este repositorio contiene el código fuente y la documentación de [es.react.dev
66

77
### Prerrequisitos
88

9-
<<<<<<< HEAD
109
1. Git.
11-
1. Node: cualquier versión 12.x a partir de v12.0.0 o superior.
10+
1. Node: cualquier versión a partir de la v16.8.0 o superior.
1211
1. Yarn: consulta el [sitio web de Yarn para obtener instrucciones de instalación](https://yarnpkg.com/lang/en/docs/install/) (en inglés).
1312
1. Una bifurcación (_fork_) del repositorio (para cualquier contribución).
1413
1. Un clon (_clone_) del [repositorio es.react.dev](https://github.com/reactjs/es.react.dev) en tu máquina local.
15-
=======
16-
1. Git
17-
1. Node: any version starting with v16.8.0 or greater
18-
1. Yarn: See [Yarn website for installation instructions](https://yarnpkg.com/lang/en/docs/install/)
19-
1. A fork of the repo (for any contributions)
20-
1. A clone of the [react.dev repo](https://github.com/reactjs/react.dev) on your local machine
21-
>>>>>>> b1a249d597016c6584e4c186daa28b180cc9aafc
2214

2315
### Instalación
2416

src/content/community/team.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,7 @@ Engineer at Meta
4343
</TeamMember>
4444

4545
<TeamMember name="Lauren Tan" permalink="lauren-tan" photo="/images/team/lauren.jpg" github="poteto" twitter="potetotes" threads="potetotes" bsky="no.lol" title="Engineer at Meta">
46-
<<<<<<< HEAD
47-
La carrera de programadora de Lauren alcanzó su punto máximo cuando descubrió la etiqueta `<marquee>`. Ha estado persiguiendo ese momento desde entonces. Estudió Finanzas en lugar de Ciencias de la Computación en la universidad, por lo que aprendió a programar en Excel en lugar de Java. Lauren disfruta lanzando memes descarados en el chat, jugando videojuegos con su pareja y acariciando a su perra Zelda.
48-
=======
49-
Lauren's programming career peaked when she first discovered the `<marquee>` tag. She’s been chasing that high ever since. She studied Finance instead of CS in college, so she learned to code using Excel. Lauren enjoys dropping cheeky memes in chat, playing video games with her partner, learning Korean, and petting her dog Zelda.
50-
>>>>>>> b1a249d597016c6584e4c186daa28b180cc9aafc
46+
La carrera de programadora de Lauren alcanzó su punto máximo cuando descubrió la etiqueta `<marquee>`. Ha estado persiguiendo ese momento desde entonces. Estudió Finanzas en lugar de Ciencias de la Computación en la universidad, por lo que aprendió a programar en Excel. Lauren disfruta lanzando memes descarados en el chat, jugando videojuegos con su pareja, aprendiendo coreano y acariciando a su perra Zelda.
5147
</TeamMember>
5248

5349
<TeamMember name="Luna Wei" permalink="luna-wei" photo="/images/team/luna-wei.jpg" github="lunaleaps" twitter="lunaleaps" threads="lunaleaps" title="Ingeniera en Meta">

src/content/learn/index.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,7 @@ title: Inicio rápido
44

55
<Intro>
66

7-
<<<<<<< HEAD
8-
¡Bienvenido a la documentación de React! Esta página te dará una introducción al 80% de los conceptos de React que usarás a diario.
9-
=======
10-
Welcome to the React documentation! This page will give you an introduction to 80% of the React concepts that you will use on a daily basis.
11-
>>>>>>> b1a249d597016c6584e4c186daa28b180cc9aafc
7+
¡Bienvenido a la documentación de React! Esta página te dará una introducción a un 80% de los conceptos de React que usarás a diario.
128

139
</Intro>
1410

src/content/learn/manipulating-the-dom-with-refs.md

Lines changed: 6 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -319,31 +319,6 @@ En este ejemplo, `itemsRef` no contiene un solo nodo DOM. En su lugar, contiene
319319
key={cat.id}
320320
ref={node => {
321321
const map = getMap();
322-
<<<<<<< HEAD
323-
if (node) {
324-
// Add to the Map
325-
map.set(cat, node);
326-
} else {
327-
// Remove from the Map
328-
map.delete(cat);
329-
}
330-
}}
331-
>
332-
```
333-
334-
Esto te permite leer nodos DOM individuales del Map más tarde.
335-
336-
<Canary>
337-
338-
This example shows another approach for managing the Map with a `ref` callback cleanup function.
339-
340-
```js
341-
<li
342-
key={cat.id}
343-
ref={node => {
344-
const map = getMap();
345-
=======
346-
>>>>>>> b1a249d597016c6584e4c186daa28b180cc9aafc
347322
// Add to the Map
348323
map.set(cat, node);
349324

@@ -369,16 +344,11 @@ Read more about [how this helps find bugs](/reference/react/StrictMode#fixing-bu
369344

370345
## Accediendo a nodos DOM de otros componentes {/*accessing-another-components-dom-nodes*/}
371346

372-
<<<<<<< HEAD
373-
Cuando colocas una ref en un componente integrado que devuelve de salida un elemento del navegador como `<input />`, React establecerá la propiedad `current` de esa ref al nodo DOM correspondiente (como el `<input />` real del navegador)
374-
375-
Sin embargo, si intentas poner una ref en tu **propio** componente, como `<MyInput />`, por defecto tendrás `null`. Aquí hay un ejemplo demostrándolo. Nota como al hacer clic en el botón **no** enfoca el _input_.
376-
=======
377347
<Pitfall>
378-
Refs are an escape hatch. Manually manipulating _another_ component's DOM nodes can make your code fragile.
348+
Las refs son una vía de escape. Manipular manualmente los nodos DOM de _otro_ componente puede hacer que tu código sea frágil.
379349
</Pitfall>
380350

381-
You can pass refs from parent component to child components [just like any other prop](/learn/passing-props-to-a-component).
351+
Puedes pasar refs desde un componente padre a componentes hijos [al igual que cualquier otra prop](/learn/passing-props-to-a-component).
382352

383353
```js {3-4,9}
384354
import { useRef } from 'react';
@@ -393,10 +363,9 @@ function MyForm() {
393363
}
394364
```
395365

396-
In the above example, a ref is created in the parent component, `MyForm`, and is passed to the child component, `MyInput`. `MyInput` then passes the ref to `<input>`. Because `<input>` is a [built-in component](/reference/react-dom/components/common) React sets the `.current` property of the ref to the `<input>` DOM element.
366+
En el ejemplo de arriba, se crea una ref en el componente padre, `MyForm`, y se pasa al componente hijo, `MyInput`. `MyInput` luego pasa la ref a `<input>`. Debido a que `<input>` es un [componente integrado](/reference/react-dom/components/common) React establece la propiedad `.current` de la ref al elemento DOM `<input>`.
397367

398-
The `inputRef` created in `MyForm` now points to the `<input>` DOM element returned by `MyInput`. A click handler created in `MyForm` can access `inputRef` and call `focus()` to set the focus on `<input>`.
399-
>>>>>>> b1a249d597016c6584e4c186daa28b180cc9aafc
368+
La `inputRef` creada en `MyForm` ahora apunta al elemento DOM `<input>` devuelto por `MyInput`. Un manejador de clics creado en `MyForm` puede acceder a `inputRef` y llamar a `focus()` para establecer el foco en `<input>`.
400369

401370
<Sandpack>
402371

@@ -427,75 +396,11 @@ export default function MyForm() {
427396

428397
</Sandpack>
429398

430-
<<<<<<< HEAD
431-
Para ayudarte a notar el problema, React también mostrará un error en la consola.
432-
433-
<ConsoleBlock level="error">
434-
435-
Warning: Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()?<div>**(Traducción)**</div>Advertencia: Los componentes de función no pueden recibir refs. Los intentos de acceder a esta ref fallarán. ¿Querías usar React.forwardRef()?
436-
437-
</ConsoleBlock>
438-
439-
Esto ocurre porque por defecto React no permite que un componente acceda a los nodos DOM de otros componentes. ¡Ni siquiera a sus propios hijos! Esto es intencionado. Las refs son una vía de escape que debe usarse con moderación. Manipular manualmente los nodos DOM de _otro_ componente hace tu código aún más frágil.
440-
441-
En cambio, los componentes que _quieran_ exponer sus nodos DOM tienen que **optar** por ese comportamiento. Un componente puede especificar que "reenvíe" su ref a uno de sus hijos. Aquí vemos como `MyInput` puede usar la API `forwardRef`:
442-
443-
```js
444-
const MyInput = forwardRef((props, ref) => {
445-
return <input {...props} ref={ref} />;
446-
});
447-
```
448-
449-
Así es como funciona:
450-
451-
1. `<MyInput ref={inputRef} />` le dice a React que coloque el nodo DOM correspondiente en `inputRef.current`. Sin embargo, depende del componente `MyInput` utilizarlo o no; por defecto no lo hace.
452-
2. El componente `MyInput` es declarado usando `forwardRef`. **Esto hace que pueda optar por recibir el `inputRef` como segundo argumento de `ref`** la cual está declarada después de `props`.
453-
3. `MyInput` por si mismo pasa la `ref` que recibió del `<input>` dentro de él.
454-
455-
Ahora al hacer clic en el botón para enfocar el _input_, funciona:
456-
457-
<Sandpack>
458-
459-
```js
460-
import { forwardRef, useRef } from 'react';
461-
462-
const MyInput = forwardRef((props, ref) => {
463-
return <input {...props} ref={ref} />;
464-
});
465-
466-
export default function Form() {
467-
const inputRef = useRef(null);
468-
469-
function handleClick() {
470-
inputRef.current.focus();
471-
}
472-
473-
return (
474-
<>
475-
<MyInput ref={inputRef} />
476-
<button onClick={handleClick}>
477-
Enfocar el input
478-
</button>
479-
</>
480-
);
481-
}
482-
```
483-
484-
</Sandpack>
485-
486-
En diseño de sistemas, es un patrón común para componentes de bajo nivel como botones, _inputs_, etc. reenviar sus refs a sus nodos DOM. Por otro lado, los componentes de alto nivel como formularios, listas, o secciones de página, usualmente no suelen exponer sus nodos DOM para evitar dependencias accidentales de la estructura del DOM.
487-
488-
=======
489-
>>>>>>> b1a249d597016c6584e4c186daa28b180cc9aafc
490399
<DeepDive>
491400

492401
#### Exponiendo un subconjunto de la API con un manejador imperativo {/*exposing-a-subset-of-the-api-with-an-imperative-handle*/}
493402

494-
<<<<<<< HEAD
495-
En el ejemplo de arriba, `MyInput` expone el elemento _input_ del DOM original. Esto le permite al componente padre llamar a `focus()` en él. Sin embargo, esto también le permite al componente padre hacer otra cosa, por ejemplo, cambiar sus estilos CSS. En casos pocos comunes, quizás quieras restringir la funcionalidad expuesta. Puedes hacer eso con `useImperativeHandle`:
496-
=======
497-
In the above example, the ref passed to `MyInput` is passed on to the original DOM input element. This lets the parent component call `focus()` on it. However, this also lets the parent component do something else--for example, change its CSS styles. In uncommon cases, you may want to restrict the exposed functionality. You can do that with [`useImperativeHandle`](/reference/react/useImperativeHandle):
498-
>>>>>>> b1a249d597016c6584e4c186daa28b180cc9aafc
403+
En el ejemplo de arriba, la ref que se pasa `MyInput` se pasa al elemento _input_ del DOM original. Esto le permite al componente padre llamar a `focus()` en él. Sin embargo, esto también le permite al componente padre hacer otra cosa, por ejemplo, cambiar sus estilos CSS. En casos pocos comunes, quizás quieras restringir la funcionalidad expuesta. Puedes hacerlo con [`useImperativeHandle`]((/reference/react/useImperativeHandle)):
499404

500405
<Sandpack>
501406

@@ -523,25 +428,15 @@ export default function Form() {
523428
return (
524429
<>
525430
<MyInput ref={inputRef} />
526-
<<<<<<< HEAD
527-
<button onClick={handleClick}>
528-
Enfocar el input
529-
</button>
530-
=======
531431
<button onClick={handleClick}>Focus the input</button>
532-
>>>>>>> b1a249d597016c6584e4c186daa28b180cc9aafc
533432
</>
534433
);
535434
}
536435
```
537436

538437
</Sandpack>
539438

540-
<<<<<<< HEAD
541-
Aquí, `realInputRef` dentro de `MyInput` mantiene el nodo DOM de input actual. Sin embargo, `useImperativeHandle` indica a React a proveer tu propio objeto especial como el valor de una ref al componente padre. Por lo tanto, `inputRef.current` dentro del componente `Form` solo va a tener el método `focus`. En este caso, el "manejador" ref no es el nodo DOM, sino el objeto personalizado que creaste dentro de la llamada de `useImperativeHandle`.
542-
=======
543-
Here, `realInputRef` inside `MyInput` holds the actual input DOM node. However, [`useImperativeHandle`](/reference/react/useImperativeHandle) instructs React to provide your own special object as the value of a ref to the parent component. So `inputRef.current` inside the `Form` component will only have the `focus` method. In this case, the ref "handle" is not the DOM node, but the custom object you create inside [`useImperativeHandle`](/reference/react/useImperativeHandle) call.
544-
>>>>>>> b1a249d597016c6584e4c186daa28b180cc9aafc
439+
Aquí, `realInputRef` dentro de `MyInput` mantiene el nodo DOM de input actual. Sin embargo, [`useImperativeHandle`](/reference/react/useImperativeHandle) indica a React a proveer tu propio objeto especial como el valor de una ref al componente padre. Por lo tanto, `inputRef.current` dentro del componente `Form` solo va a tener el método `focus`. En este caso, el "manejador" ref no es el nodo DOM, sino el objeto personalizado que creaste dentro de la llamada de [`useImperativeHandle`](/reference/react/useImperativeHandle).
545440

546441
</DeepDive>
547442

src/content/learn/react-developer-tools.md

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -52,33 +52,10 @@ Ahora recarga tu sitio web en el navegador para verlo en las herramientas de des
5252

5353
![Versión autónoma de las Herramientas de Desarrollo de React](/images/docs/react-devtools-standalone.png)
5454

55-
<<<<<<< HEAD
5655
## Móvil (React Native) {/*mobile-react-native*/}
57-
Las Herramientas de Desarrollo de React se pueden utilizar también para inspeccionar aplicaciones escritas con [React Native](https://reactnative.dev/):
5856

59-
Las forma más fácil de usar las Herramientas de Desarrollo de React es instalarlas globalmente:
60-
```bash
61-
# Yarn
62-
yarn global add react-devtools
63-
=======
64-
## Mobile (React Native) {/*mobile-react-native*/}
65-
66-
To inspect apps built with [React Native](https://reactnative.dev/), you can use [React Native DevTools](https://reactnative.dev/docs/react-native-devtools), the built-in debugger that deeply integrates React Developer Tools. All features work identically to the browser extension, including native element highlighting and selection.
67-
>>>>>>> b1a249d597016c6584e4c186daa28b180cc9aafc
57+
Para inspeccionar aplicaciones creadas con [React Native](https://reactnative.dev/), puedes usar [React Native DevTools](https://reactnative.dev/docs/react-native-devtools), el depurador integrado que se integra profundamente con las herramientas de desarrollador de React. Todas las funciones funcionan de forma idéntica a la extensión del navegador, incluyendo el resaltado y la selección de elementos nativos.
6858

6959
[Learn more about debugging in React Native.](https://reactnative.dev/docs/debugging)
7060

71-
<<<<<<< HEAD
72-
Luego abre las herramientas de desarrollo desde la terminal.
73-
```bash
74-
react-devtools
75-
```
76-
77-
Debería conectarse a cualquier aplicación local de React Native que se esté ejecutando.
78-
79-
> Prueba recargar la aplicación si las herramientas de desarrollo no se conectan después de algunos segundos.
80-
81-
[Aprende más sobre la depuración en React Native.](https://reactnative.dev/docs/debugging)
82-
=======
83-
> For versions of React Native earlier than 0.76, please use the standalone build of React DevTools by following the [Safari and other browsers](#safari-and-other-browsers) guide above.
84-
>>>>>>> b1a249d597016c6584e4c186daa28b180cc9aafc
61+
> Para versiones de React Native anteriores a la 0.76, utiliza la compilación independiente de React DevTools siguiendo la guía de arriba [Safari y otros navegadores](#safari-and-other-browsers).

src/content/reference/react-dom/components/common.md

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -246,30 +246,6 @@ Estos eventos se disparan para recursos como [`<audio>`](https://developer.mozil
246246
En lugar de un objeto ref (como el devuelto por [`useRef`](/reference/react/useRef#manipulating-the-dom-with-a-ref)), puedes pasar una función al atributo `ref`.
247247

248248
```js
249-
<<<<<<< HEAD
250-
<div ref={(node) => console.log(node)} />
251-
```
252-
253-
[Vea un ejemplo de la función callback `ref`.](/learn/manipulating-the-dom-with-refs#how-to-manage-a-list-of-refs-using-a-ref-callback)
254-
255-
Cuando el nodo del DOM `<div>` es agregado a la pantalla, React llamará a tu callback `ref` con el nodo del DOM como argumento. Cuando ese nodo del DOM `<div>` se elimina, React llamará a tu callback `ref` con `null`.
256-
257-
React también llamará a tu callback `ref` cada vez que pases un callback `ref` *diferente*. En el ejemplo anterior, `(node) => { ... }` es una función diferente en cada renderizado. Cuando tu componente se vuelva a renderizar, la función *anterior* será llamada con `null` como argumento, y la *siguiente* función será llamada con el nodo del DOM.
258-
259-
#### Parámetros {/*ref-callback-parameters*/}
260-
261-
* `node`: Un nodo del DOM o `null`. React te pasará el nodo del DOM cuando se vincule la ref, y `null` cuando la ref se desvincule. A menos que pases la misma función ref para el callback `ref` en cada renderizado, el callback se desprenderá temporalmente y se volverá a vincular durante cada renderizado del componente.
262-
263-
<Canary>
264-
265-
#### Devuelve {/*returns*/}
266-
267-
* **optional** `cleanup function`: When the `ref` is detached, React will call the cleanup function. If a function is not returned by the `ref` callback, React will call the callback again with `null` as the argument when the `ref` gets detached.
268-
269-
```js
270-
271-
=======
272-
>>>>>>> b1a249d597016c6584e4c186daa28b180cc9aafc
273249
<div ref={(node) => {
274250
console.log('Attached', node);
275251

src/content/reference/react-dom/components/input.md

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,7 @@ Para mostrar un input, renderiza el componente [`<input>` incorporado en el nave
3232

3333
`<input>` admite todas las [props comunes de los elementos.](/reference/react-dom/components/common#props)
3434

35-
<<<<<<< HEAD
36-
<Canary>
37-
38-
Las extensiones a la prop `formAction` solo están disponible actualmente en los canales experimental y Canary de React. En versiones estables de React, `formAction` funciona solo como un [componente integrado HTML del navegador](/reference/react-dom/components#all-html-components). Más información sobre [los canales de lanzamiento de React aquí](/community/versioning-policy#all-release-channels).
39-
</Canary>
40-
41-
[`formAction`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#formaction): Un string o una función. Sobreescribe el `<form action>` padre para `type="submit"` y `type="image"`. Cuando se pasa una URL a `action` el formulario se comportará como un formulario HTML estándar. Cuando se pasa una función a `formAction` la función manejará el envío del formulario. Consulta [`<form action>`](/reference/react-dom/components/form#props).
42-
=======
4335
- [`formAction`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#formaction): A string or function. Overrides the parent `<form action>` for `type="submit"` and `type="image"`. When a URL is passed to `action` the form will behave like a standard HTML form. When a function is passed to `formAction` the function will handle the form submission. See [`<form action>`](/reference/react-dom/components/form#props).
44-
>>>>>>> b1a249d597016c6584e4c186daa28b180cc9aafc
4536

4637
Puedes [hacer un input controlado](#controlling-an-input-with-a-state-variable) pasando una de estas props:
4738

0 commit comments

Comments
 (0)