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/reference/react-dom/components/common.md
+1-4
Original file line number
Diff line number
Diff line change
@@ -96,7 +96,7 @@ Estas propiedades DOM estándar también son compatibles con todos los component
96
96
*`onDragStartCapture`: Una versión de `onDragStart` que se dispara en la [fase de captura.](/learn/responding-to-events#capture-phase-events)
97
97
*[`onDrop`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/drop_event): Una función controladora de evento [`DragEvent`](#dragevent-handler). Se dispara cuando se suelta algo en un objetivo de soltar válido.
98
98
*`onDropCapture`: Una versión de `onDrop` que se dispara en la [fase de captura.](/learn/responding-to-events#capture-phase-events)
99
-
*`onFocus`: A [`FocusEvent`](#focusevent-handler). Se dispara cuando un elemento pierde el foco. A diferencia del evento de [`focus`](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event) integrado del navegador, en React el evento `onFocus` se propaga.
99
+
*`onFocus`: A [`FocusEvent`](#focusevent-handler). Se dispara cuando un elemento recibe el foco. A diferencia del evento de [`focus`](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event) integrado del navegador, en React el evento `onFocus` se propaga.
100
100
*`onFocusCapture`: Una versión de `onFocus` que se dispara en la [fase de captura.](/learn/responding-to-events#capture-phase-events)
101
101
*[`onGotPointerCapture`](https://developer.mozilla.org/es/docs/Web/API/Element/gotpointercapture_event): Una función controladora de evento [`PointerEvent`](#pointerevent-handler). Se dispara cuando un elemento captura un puntero.
102
102
*`onGotPointerCaptureCapture`: Una versión de `onGotPointerCapture` que se dispara en la [fase de captura.](/learn/responding-to-events#capture-phase-events)
@@ -149,7 +149,6 @@ Estas propiedades DOM estándar también son compatibles con todos los component
149
149
*[`onWheel`](https://developer.mozilla.org/es/docs/Web/API/Element/wheel_event): Una función controladora de evento [`WheelEvent`](#wheelevent-handler). Se dispara cuando el usuario gira un botón de rueda en un dispositivo señalador.
150
150
*`onWheelCapture`: Una versión de `onWheel` que se dispara en la [fase de captura.](/learn/responding-to-events#capture-phase-events)
151
151
*[`role`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles): Un string. Especifica el rol del elemento explícitamente para las tecnologías de asistencia.
152
-
153
152
*[`slot`](https://developer.mozilla.org/en-US/docs/Web/API/Element/slot): Un string. Especifica el nombre del slot cuando se utiliza shadow DOM. En React, normalmente se logra un patrón equivalente al pasar JSX como props, por ejemplo `<Layout left={<Sidebar />} right={<Content />} />`.
154
153
*[`spellCheck`](https://developer.mozilla.org/es/docs/Web/HTML/Global_attributes/spellcheck): Un booleano o `null`. Si explícitamente se establece en `true` o `false`, habilita o deshabilita la corrección ortográfica.
155
154
*[`tabIndex`](https://developer.mozilla.org/es/docs/Web/HTML/Global_attributes/tabindex): Un número. Anula el comportamiento por defecto del botón Tab. [Evita utilizar valores distintos de -1 y 0.](https://www.tpgi.com/using-the-tabindex-attribute/)
@@ -169,7 +168,6 @@ Estos eventos se disparan sólo para los elementos [`<dialog>`](https://develope
169
168
170
169
*[`onCancel`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/cancel_event): Una función controladora de evento [`Event`](#event-handler). Se dispara cuando el usuario intenta cerrar el diálogo.
171
170
*`onCancelCapture`: Una versión de `onCancel` que se dispara en la [fase de captura.](/learn/responding-to-events#capture-phase-events)
172
-
173
171
*[`onClose`](https://developer.mozilla.org/es/docs/Web/API/HTMLDialogElement/close_event): Una función controladora de evento [`Event`](#event-handler). Se dispara cuando un diálogo ha sido cerrado.
174
172
*`onCloseCapture`: Una versión de `onClose` que se dispara en la [fase de captura.](/learn/responding-to-events#capture-phase-events)
175
173
@@ -178,7 +176,6 @@ Estos eventos sólo se disparan para los elementos [`<details>`](https://develop
178
176
*[`onToggle`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLDetailsElement/toggle_event): Una función controladora de evento [`Event`](#event-handler). Se dispara cuando el usuario cambia el estado de los detalles.
179
177
*`onToggleCapture`: Una versión de `onToggle` que se dispara en la [fase de captura.](/learn/responding-to-events#capture-phase-events)
180
178
181
-
182
179
Estos eventos se disparan para los elementos [`<img>`](https://developer.mozilla.org/es/docs/Web/HTML/Element/img), [`<iframe>`](https://developer.mozilla.org/es/docs/Web/HTML/Element/iframe), [`<object>`](https://developer.mozilla.org/es/docs/Web/HTML/Element/object), [`<embed>`](https://developer.mozilla.org/es/docs/Web/HTML/Element/embed), [`<link>`](https://developer.mozilla.org/es/docs/Web/HTML/Element/link), and [SVG `<image>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/SVG_Image_Tag). A diferencia de los eventos del navegador, se propagan en React:
183
180
184
181
*`onLoad`: Una función controladora de evento [`Event`](#event-handler). Se dispara cuando el recurso ha sido cargado.
Copy file name to clipboardExpand all lines: src/content/reference/react-dom/index.md
+1-2
Original file line number
Diff line number
Diff line change
@@ -39,5 +39,4 @@ Las siguientes APIs se eliminarán en una próxima versión mayor de React.
39
39
*[`findDOMNode`](/reference/react-dom/findDOMNode) busca el nodo de DOM más cercano correspondiente a una instancia de componente de clase.
40
40
*[`hydrate`](/reference/react-dom/hydrate) monta un árbol en el DOM creado a partir de HTML generado en el servidor. En su lugar, se recomienda usar [`hydrateRoot`](/reference/react-dom/client/hydrateRoot).
41
41
*[`render`](/reference/react-dom/render) monta un árbol en el DOM. En su lugar, se recomienda usar [`createRoot`](/reference/react-dom/client/createRoot).
42
-
*[`unmountComponentAtNode`](/reference/react-dom/unmountComponentAtNode) desmonta un árbol del DOM. En su lugar, se recomienda usar [`root.unmount()`.](/reference/react-dom/client/createRoot#root-unmount)
43
-
42
+
*[`unmountComponentAtNode`](/reference/react-dom/unmountComponentAtNode) desmonta un árbol del DOM. En su lugar, se recomienda usar [`root.unmount()`](/reference/react-dom/client/createRoot#root-unmount).
Copy file name to clipboardExpand all lines: src/content/reference/react/Component.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -1010,7 +1010,7 @@ Recomendamos utilizar [TypeScript](https://www.typescriptlang.org/) en lugar de
1010
1010
1011
1011
Si defines `static getDerivedStateFromError`, React lo llamará cuando un componente hijo (incluyendo componentes hijos distantes) arroje un error durante el rendering. Esto te permite mostrar un mensaje de error en lugar de limpiar la interfaz de usuario.
1012
1012
1013
-
Por lo general, se utiliza junto con [`componentDidCatch`](#componentDidCatch), que te permite enviar el informe de errores a algún servicio de análisis. Un componente con estos métodos se llama una *línea de error*.
1013
+
Por lo general, se utiliza junto con [`componentDidCatch`](#componentdidcatch), que te permite enviar el informe de errores a algún servicio de análisis. Un componente con estos métodos se llama una *línea de error*.
1014
1014
1015
1015
[Mira un ejemplo.](#catching-rendering-errors-with-an-error-boundary)
Copy file name to clipboardExpand all lines: src/content/reference/react/Suspense.md
+2-1
Original file line number
Diff line number
Diff line change
@@ -2513,7 +2513,8 @@ Sin embargo, imagina ahora que estás navegando entre dos perfiles de usuario di
2513
2513
2514
2514
---
2515
2515
2516
-
### Proporcionar un *fallback* para los errores del servidor y el contenido exclusivo del servidor {/*providing-a-fallback-for-server-errors-and-client-only-content*/}
2516
+
### Proporcionar un _fallback_ para errores de servidor y contenido solo-cliente {/*providing-a-fallback-for-server-errors-and-client-only-content*/}
2517
+
2517
2518
2518
2519
Si utilizas una de las [APIs de renderizado en el servidor con *streaming*](/reference/react-dom/server) (o un *framework* que depende de ellas), React también utilizará tus barreras de `<Suspense>` para manejar errores en el servidor. Si un componente lanza un error en el servidor, React no abortará el renderizado en el servidor. Lo que hará será encontrar el componente `<Suspense>` más cercano encima de este e incluirá su *fallback* (un *spinner*, por ejemplo) dentro del HTML generado en el servidor. El usuario verá un *spinner* en lugar de un error.
Llama a `useInsertionEffect` para insertar los estilos antes de cualquier mutación en el DOM:
29
+
Llama a `useInsertionEffect` para insertar estilos antes de que se dispare cualquier efecto que pueda necesitar leer el diseño:
30
30
31
31
```js
32
32
import { useInsertionEffect } from'react';
@@ -44,19 +44,21 @@ function useCSS(rule) {
44
44
45
45
#### Parámetros {/*parameters*/}
46
46
47
-
* `setup`: La función con la lógica de tu Efecto. Tu función setup puede opcionalmente devolver una función de *limpieza*. Antes de que tu componente sea añadido primero al DOM, React ejecutará tu función setup. Después de cada re-renderizado con dependencias modificadas, React ejecutará primero la función de limpieza (si es que la habías incluido) con los valores antiguos y entonces ejecutará tu función setup con los nuevos valores. Antes de que tu componente sea eliminado del DOM, React ejecutará tu función de limpieza una última vez.
47
+
* `setup`: La función con la lógica de tus Efectos. Tu función _setup_ también puede devolver opcionalmente una función de *limpieza*. Cuando tu componente es añadido al DOM, pero antes de que se dispare cualquier efecto de diseño, React ejecutará tu función _setup_. Después de cada re-renderizado con dependencias modificadas, React ejecutará primero la función de limpieza (si la has proporcionado) con los valores antiguos, y luego ejecutará tu función _setup_ con los nuevos valores. Cuando tu componente es removido del DOM, React ejecutará tu función de limpieza.
48
48
49
49
* ***opcional** `dependencias`: La lista de todos los valores reactivos referenciados dentro del el código de `setup`. Los valores reactivos incluyen props, estado y todas las variables y funciones declaradas directamente dentro del cuerpo de tu componente. Si tu linter está [configurado para React](/learn/editor-setup#linting), verificará que cada valor reactivo esté correctamente especificado como dependencia. La lista de dependencias tienen que tener un número constante de elementos y que sean escritos en línea como `[dep1, dep2, dep3]`. React comparará cada dependencia con su valor previo usando el algoritmo de comparación [`Object.is`](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Object/is). Si no especificas ninguna dependencia, tu Efecto se volverá a ejecutar después de cada renderizado del componente.
50
50
51
51
#### Devuelve {/*returns*/}
52
52
53
53
`useInsertionEffect` devuelve `undefined`.
54
54
55
-
* Effects only run on the client. They don't run during server rendering.
56
-
* You can't update state from inside `useInsertionEffect`.
57
-
* By the time `useInsertionEffect` runs, refs are not attached yet.
58
-
* `useInsertionEffect` may run either before or after the DOM has been updated. You shouldn't rely on the DOM being updated at any particular time.
59
-
* Unlike other types of Effects, which fire cleanup for every Effect and then setup for every Effect, `useInsertionEffect` will fire both cleanup and setup one component at a time. This results in an "interleaving" of the cleanup and setup functions.
55
+
#### Advertencias {/*caveats*/}
56
+
57
+
* Los Efectos sólo se ejecutan en el cliente. No se ejecutan durante el renderizado del servidor.
58
+
* No puedes actualizar el estado desde dentro de `useInsertionEffect`.
59
+
* En el momento en que se ejecuta `useInsertionEffect`, las referencias aún no se han adjuntado.
60
+
* `useInsertionEffect` puede ejecutarse antes o después de que el DOM haya sido actualizado. No debes confiar en que el DOM se actualice en un momento determinado.
61
+
* A diferencia de otros tipos de Efectos, que disparan la limpieza por cada Efecto y luego el _setup_ por cada Efecto, `useInsertionEffect` disparará ambos, limpieza y _setup_, un componente a la vez. El resultado es un "intercalado" de funciones de limpieza y _setup_.
60
62
---
61
63
62
64
## Uso {/*usage*/}
@@ -86,7 +88,7 @@ Si usas CSS-en-JS, recomendamos la combinación de los dos primeros enfoques (ar
86
88
87
89
El primer problema no se puede resolver, pero `useInsertionEffect` te ayuda a solucionar el segundo problema.
88
90
89
-
Llama a `useInsertionEffect` para insertar los estilos antes de cualquier mutación del DOM:
91
+
Llama a `useInsertionEffect` para insertar los estilos antes de que se disparen los efectos de diseño:
90
92
91
93
```js {4-11}
92
94
// En tu biblioteca CSS-en-JS
@@ -135,4 +137,4 @@ Si insertas los estilos durante el renderizado y React está procesando una [act
135
137
136
138
`useInsertionEffect` es mejor que insertar estilos durante [`useLayoutEffect`](/reference/react/useLayoutEffect) o [`useEffect`](/reference/react/useEffect) porque asegura que en el tiempo en que otros Efectos se ejecuten en tus componentes, las etiquetas `<style>` ya han sido añadidas. De otro modo, los cálculos de layout en Efectos regulares podrían ser incorrectos por los estilos desactualizados.
0 commit comments