You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/community/team.md
+1-5Lines changed: 1 addition & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,11 +43,7 @@ Engineer at Meta
43
43
</TeamMember>
44
44
45
45
<TeamMembername="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.
51
47
</TeamMember>
52
48
53
49
<TeamMembername="Luna Wei"permalink="luna-wei"photo="/images/team/luna-wei.jpg"github="lunaleaps"twitter="lunaleaps"threads="lunaleaps"title="Ingeniera en Meta">
Copy file name to clipboardExpand all lines: src/content/learn/manipulating-the-dom-with-refs.md
+6-111Lines changed: 6 additions & 111 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -319,31 +319,6 @@ En este ejemplo, `itemsRef` no contiene un solo nodo DOM. En su lugar, contiene
319
319
key={cat.id}
320
320
ref={node=> {
321
321
constmap=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
-
constmap=getMap();
345
-
=======
346
-
>>>>>>> b1a249d597016c6584e4c186daa28b180cc9aafc
347
322
// Add to the Map
348
323
map.set(cat, node);
349
324
@@ -369,16 +344,11 @@ Read more about [how this helps find bugs](/reference/react/StrictMode#fixing-bu
369
344
370
345
## Accediendo a nodos DOM de otros componentes {/*accessing-another-components-dom-nodes*/}
371
346
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
-
=======
377
347
<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.
379
349
</Pitfall>
380
350
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).
382
352
383
353
```js {3-4,9}
384
354
import { useRef } from'react';
@@ -393,10 +363,9 @@ function MyForm() {
393
363
}
394
364
```
395
365
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>`.
397
367
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>`.
400
369
401
370
<Sandpack>
402
371
@@ -427,75 +396,11 @@ export default function MyForm() {
427
396
428
397
</Sandpack>
429
398
430
-
<<<<<<< HEAD
431
-
Para ayudarte a notar el problema, React también mostrará un error en la consola.
432
-
433
-
<ConsoleBlocklevel="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
-
constMyInput=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
-
constMyInput=forwardRef((props, ref) => {
463
-
return<input {...props} ref={ref} />;
464
-
});
465
-
466
-
exportdefaultfunctionForm() {
467
-
constinputRef=useRef(null);
468
-
469
-
functionhandleClick() {
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
490
399
<DeepDive>
491
400
492
401
#### Exponiendo un subconjunto de la API con un manejador imperativo {/*exposing-a-subset-of-the-api-with-an-imperative-handle*/}
493
402
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)):
499
404
500
405
<Sandpack>
501
406
@@ -523,25 +428,15 @@ export default function Form() {
523
428
return (
524
429
<>
525
430
<MyInput ref={inputRef} />
526
-
<<<<<<<HEAD
527
-
<button onClick={handleClick}>
528
-
Enfocar el input
529
-
</button>
530
-
=======
531
431
<button onClick={handleClick}>Focus the input</button>
532
-
>>>>>>> b1a249d597016c6584e4c186daa28b180cc9aafc
533
432
</>
534
433
);
535
434
}
536
435
```
537
436
538
437
</Sandpack>
539
438
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).
Copy file name to clipboardExpand all lines: src/content/learn/react-developer-tools.md
+2-25Lines changed: 2 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,33 +52,10 @@ Ahora recarga tu sitio web en el navegador para verlo en las herramientas de des
52
52
53
53

54
54
55
-
<<<<<<< HEAD
56
55
## 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/):
58
56
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.
68
58
69
59
[Learn more about debugging in React Native.](https://reactnative.dev/docs/debugging)
70
60
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).
Copy file name to clipboardExpand all lines: src/content/reference/react-dom/components/common.md
-24Lines changed: 0 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -246,30 +246,6 @@ Estos eventos se disparan para recursos como [`<audio>`](https://developer.mozil
246
246
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`.
247
247
248
248
```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.
Copy file name to clipboardExpand all lines: src/content/reference/react-dom/components/input.md
-9Lines changed: 0 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,16 +32,7 @@ Para mostrar un input, renderiza el componente [`<input>` incorporado en el nave
32
32
33
33
`<input>` admite todas las [props comunes de los elementos.](/reference/react-dom/components/common#props)
34
34
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
-
=======
43
35
-[`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
45
36
46
37
Puedes [hacer un input controlado](#controlling-an-input-with-a-state-variable) pasando una de estas props:
0 commit comments