From 35b4d0f313b71c9408842993bdd17dc7dbadd14e Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sat, 6 May 2023 17:11:39 +0200 Subject: [PATCH 01/23] docs: translate api useTransition --- src/content/reference/react/useTransition.md | 152 +++++++++---------- 1 file changed, 76 insertions(+), 76 deletions(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index a6fcde710..d0b3b36f5 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -4,7 +4,7 @@ title: useTransition -`useTransition` is a React Hook that lets you update the state without blocking the UI. +`useTransition` es un Hook de React que te permite actualizar el estado sin bloquear la UI. ```js const [isPending, startTransition] = useTransition() @@ -20,7 +20,7 @@ const [isPending, startTransition] = useTransition() ### `useTransition()` {/*usetransition*/} -Call `useTransition` at the top level of your component to mark some state updates as transitions. +Llama a `useTransition` en el nivel superior de su componente para marcar algunas actualizaciones de estado como transiciones. ```js import { useTransition } from 'react'; @@ -31,24 +31,24 @@ function TabContainer() { } ``` -[See more examples below.](#usage) +[Ver más ejemplos debajo.](#uso) -#### Parameters {/*parameters*/} +#### Parámetros {/*parameters*/} -`useTransition` does not take any parameters. +`useTransition` no recibe ningun parámetro. -#### Returns {/*returns*/} +#### Devuelve {/*returns*/} -`useTransition` returns an array with exactly two items: +`useTransition` devuelve un _array_ con exactamente dos elementos: -1. The `isPending` flag that tells you whether there is a pending transition. -2. The [`startTransition` function](#starttransition) that lets you mark a state update as a transition. +1. `isPending` que indica si hay una transición pendiente. +2. [`startTransition` function](#starttransition) que permite marcar una actualización de estado como una transición. --- ### `startTransition` function {/*starttransition*/} -The `startTransition` function returned by `useTransition` lets you mark a state update as a transition. +La función `startTransition` devuelta por `useTransition` permite marcar una actualización de estado como una transición. ```js {6,8} function TabContainer() { @@ -64,35 +64,35 @@ function TabContainer() { } ``` -#### Parameters {/*starttransition-parameters*/} +#### Parámetros {/*starttransition-parameters*/} -* `scope`: A function that updates some state by calling one or more [`set` functions.](/reference/react/useState#setstate) React immediately calls `scope` with no parameters and marks all state updates scheduled synchronously during the `scope` function call as transitions. They will be [non-blocking](#marking-a-state-update-as-a-non-blocking-transition) and [will not display unwanted loading indicators.](#preventing-unwanted-loading-indicators) +* `scope`: Una función que actualiza algún estado llamando a uno o varios [`set` functions.](/reference/react/useState#setstate) React inmediatamente llama`scope` sin parámetros y marca todas las actualizaciones de estado programadas sincrónicamente durante el `scope` llamada de función como transiciones. Serán [sin bloqueo](#marking-a-state-update-as-a-non-blocking-transition) y [no mostrará indicadores de carga no deseados.](#preventing-unwanted-loading-indicators) -#### Returns {/*starttransition-returns*/} +#### Devuelve {/*starttransition-returns*/} -`startTransition` does not return anything. +`startTransition` no devuelve nada. -#### Caveats {/*starttransition-caveats*/} +#### Advertencias {/*starttransition-caveats*/} -* `useTransition` is a Hook, so it can only be called inside components or custom Hooks. If you need to start a transition somewhere else (for example, from a data library), call the standalone [`startTransition`](/reference/react/startTransition) instead. +* `useTransition` es un Gancho, por lo que sólo puede ser llamado dentro de componentes o Hooks personalizados. Si necesita iniciar una transición en otro lugar (por ejemplo, desde una biblioteca de datos), llame a la función independiente [`startTransition`](/reference/react/startTransition) en su lugar. -* You can wrap an update into a transition only if you have access to the `set` function of that state. If you want to start a transition in response to some prop or a custom Hook value, try [`useDeferredValue`](/reference/react/useDeferredValue) instead. +* Puedes envolver una actualización en una transición sólo si tienes acceso a la función `set` de ese estado. Si desea iniciar una transición en respuesta a algunas prop o algún valor de un Hook personalizado, intente [`useDeferredValue`](/reference/react/useDeferredValue) en su lugar. -* The function you pass to `startTransition` must be synchronous. React immediately executes this function, marking all state updates that happen while it executes as transitions. If you try to perform more state updates later (for example, in a timeout), they won't be marked as transitions. +* La función que pases a `startTransition` debe ser síncrona. React ejecuta inmediatamente esta función, marcando como transiciones todas las actualizaciones de estado que se produzcan mientras se ejecuta. Si intentas realizar más actualizaciones de estado más tarde (por ejemplo, en un tiempo de espera), no se marcarán como transiciones. -* A state update marked as a transition will be interrupted by other state updates. For example, if you update a chart component inside a transition, but then start typing into an input while the chart is in the middle of a re-render, React will restart the rendering work on the chart component after handling the input update. +* Una actualización de estado marcada como transición será interrumpida por otras actualizaciones de estado. Por ejemplo, si actualizas un componente gráfico dentro de una transición, pero luego empiezas a escribir en un input mientras el gráfico está en medio de un re-renderizado, React reiniciará el trabajo de renderizado en el componente gráfico después de gestionar la actualización del input. -* Transition updates can't be used to control text inputs. +* Las actualizaciones de transición no pueden utilizarse para controlar las entradas de texto. -* If there are multiple ongoing transitions, React currently batches them together. This is a limitation that will likely be removed in a future release. +* Si hay varias transiciones en curso, React las agrupa. Se trata de una limitación que probablemente se eliminará en una versión futura. --- -## Usage {/*usage*/} +## Uso {/*usage*/} -### Marking a state update as a non-blocking transition {/*marking-a-state-update-as-a-non-blocking-transition*/} +### Marcar una actualización de estado como transición no bloqueante {/*marking-a-state-update-as-a-non-blocking-transition*/} -Call `useTransition` at the top level of your component to mark state updates as non-blocking *transitions*. +Llama a `useTransition` en el nivel superior de tu componente para marcar las actualizaciones de estado como no bloqueantes. *transitions*. ```js [[1, 4, "isPending"], [2, 4, "startTransition"]] import { useState, useTransition } from 'react'; @@ -103,12 +103,12 @@ function TabContainer() { } ``` -`useTransition` returns an array with exactly two items: +`useTransition` devuelve un array con exactamente dos elementos: -1. The `isPending` flag that tells you whether there is a pending transition. -2. The `startTransition` function that lets you mark a state update as a transition. +1. `isPending` flag que le indica si hay una transición pendiente. +2. `startTransition` function que permite marcar una actualización de estado como una transición. -You can then mark a state update as a transition like this: +A continuación, puede marcar una actualización de estado como una transición de esta manera: ```js {6,8} function TabContainer() { @@ -124,17 +124,17 @@ function TabContainer() { } ``` -Transitions let you keep the user interface updates responsive even on slow devices. +Las transiciones permiten mantener la capacidad de respuesta de las actualizaciones de la interfaz de usuario incluso en dispositivos lentos. -With a transition, your UI stays responsive in the middle of a re-render. For example, if the user clicks a tab but then change their mind and click another tab, they can do that without waiting for the first re-render to finish. +Con una transición, la interfaz de usuario mantiene su capacidad de respuesta en medio de una nueva renderización. Por ejemplo, si el usuario hace clic en una pestaña pero luego cambia de opinión y hace clic en otra, puede hacerlo sin esperar a que termine la primera renderización. - + -#### Updating the current tab in a transition {/*updating-the-current-tab-in-a-transition*/} +#### Actualizar la pestaña actual en una transición {/*updating-the-current-tab-in-a-transition*/} -In this example, the "Posts" tab is **artificially slowed down** so that it takes at least a second to render. +En este ejemplo, la pestaña "Posts" está **artificialmente ralentizada** para que tarde al menos un segundo en renderizarse. -Click "Posts" and then immediately click "Contact". Notice that this interrupts the slow render of "Posts". The "Contact" tab shows immediately. Because this state update is marked as a transition, a slow re-render did not freeze the user interface. +Haz clic en "Mensajes" y luego inmediatamente en "Contacto". Observa que esto interrumpe la renderización lenta de "Posts". La pestaña _"Contact"_ se muestra inmediatamente. Debido a que esta actualización de estado está marcada como una transición, una renderización lenta no congela la interfaz de usuario. @@ -269,11 +269,11 @@ b { display: inline-block; margin-right: 10px; } -#### Updating the current tab without a transition {/*updating-the-current-tab-without-a-transition*/} +#### Actualizar la pestaña actual sin transición {/*updating-the-current-tab-without-a-transition*/} -In this example, the "Posts" tab is also **artificially slowed down** so that it takes at least a second to render. Unlike in the previous example, this state update is **not a transition.** +En este ejemplo, la pestaña "Posts" también es **artificialmente ralentizada** para que tarde al menos un segundo en renderizarse. A diferencia del ejemplo anterior, esta actualización de estado **no es una transición.** -Click "Posts" and then immediately click "Contact". Notice that the app freezes while rendering the slowed down tab, and the UI becomes unresponsive. This state update is not a transition, so a slow re-render freezed the user interface. +Haz clic en "Mensajes" e inmediatamente después en "Contacto". Observa que la aplicación se congela mientras se renderiza la pestaña ralentizada, y la interfaz de usuario deja de responder. Esta actualización de estado no es una transición, por lo que una renderización lenta congela la interfaz de usuario. @@ -409,9 +409,9 @@ b { display: inline-block; margin-right: 10px; } --- -### Updating the parent component in a transition {/*updating-the-parent-component-in-a-transition*/} +### Actualización del componente principal en una transición {/*updating-the-parent-component-in-a-transition*/} -You can update a parent component's state from the `useTransition` call, too. For example, this `TabButton` component wraps its `onClick` logic in a transition: +También puedes actualizar el estado de un componente padre desde la llamada "useTransition". Por ejemplo, este componente `TabButton` envuelve su lógica `onClick` en una transición: ```js {8-10} export default function TabButton({ children, isActive, onClick }) { @@ -431,7 +431,7 @@ export default function TabButton({ children, isActive, onClick }) { } ``` -Because the parent component updates its state inside the `onClick` event handler, that state update gets marked as a transition. This is why, like in the earlier example, you can click on "Posts" and then immediately click "Contact". Updating the selected tab is marked as a transition, so it does not block user interactions. +Debido a que el componente padre actualiza su estado dentro del manejador de eventos `onClick`, esa actualización de estado se marca como una transición. Esta es la razón por la que, como en el ejemplo anterior, puedes hacer clic en "Posts" y luego inmediatamente hacer clic en "Contacto". La actualización de la pestaña seleccionada se marca como una transición, por lo que no bloquea las interacciones del usuario. @@ -560,9 +560,9 @@ b { display: inline-block; margin-right: 10px; } --- -### Displaying a pending visual state during the transition {/*displaying-a-pending-visual-state-during-the-transition*/} +### Visualización de un estado visual pendiente durante la transición {/*displaying-a-pending-visual-state-during-the-transition*/} -You can use the `isPending` boolean value returned by `useTransition` to indicate to the user that a transition is in progress. For example, the tab button can have a special "pending" visual state: +Puede utilizar el valor booleano `isPending` devuelto por `useTransition` para indicar al usuario que una transición está en curso. Por ejemplo, el botón de pestaña puede tener un estado visual especial "pendiente": ```js {4-6} function TabButton({ children, isActive, onClick }) { @@ -574,7 +574,7 @@ function TabButton({ children, isActive, onClick }) { // ... ``` -Notice how clicking "Posts" now feels more responsive because the tab button itself updates right away: +Fíjate en que hacer clic en _"Posts"_ ahora es más sensible porque el botón de la pestaña se actualiza inmediatamente: @@ -707,9 +707,9 @@ b { display: inline-block; margin-right: 10px; } --- -### Preventing unwanted loading indicators {/*preventing-unwanted-loading-indicators*/} +### Evitar indicadores de carga no deseados {/*preventing-unwanted-loading-indicators*/} -In this example, the `PostsTab` component fetches some data using a [Suspense-enabled](/reference/react/Suspense) data source. When you click the "Posts" tab, the `PostsTab` component *suspends*, causing the closest loading fallback to appear: +En este ejemplo, el componente `PostsTab` obtiene algunos datos utilizando una fuente de datos [Suspense-enabled](/reference/react/Suspense). Al hacer clic en la pestaña _"Posts"_, el componente `PostsTab` se *suspende*, haciendo que aparezca el fallback de carga más cercano: @@ -893,9 +893,9 @@ b { display: inline-block; margin-right: 10px; } -Hiding the entire tab container to show a loading indicator leads to a jarring user experience. If you add `useTransition` to `TabButton`, you can instead indicate display the pending state in the tab button instead. +Ocultar todo el contenedor de pestañas para mostrar un indicador de carga conduce a una experiencia de usuario discordante. Si añades `useTransition` a `TabButton`, puedes indicar que se muestre el estado pendiente en el botón de la pestaña. -Notice that clicking "Posts" no longer replaces the entire tab container with a spinner: +Observa que al hacer clic en "Entradas" ya no se sustituye todo el contenedor de la pestaña por un spinner: @@ -1087,19 +1087,19 @@ b { display: inline-block; margin-right: 10px; } -[Read more about using transitions with Suspense.](/reference/react/Suspense#preventing-already-revealed-content-from-hiding) +[Más información sobre el uso de transiciones con Suspense.](/reference/react/Suspense#preventing-already-revealed-content-from-hiding) -Transitions will only "wait" long enough to avoid hiding *already revealed* content (like the tab container). If the Posts tab had a [nested `` boundary,](/reference/react/Suspense#revealing-nested-content-as-it-loads) the transition would not "wait" for it. +Las transiciones sólo "esperarán" el tiempo suficiente para evitar ocultar el contenido *ya revelado* (como el contenedor de la pestaña). Si la pestaña Entradas tuviera un [`` boundary anidado,](/reference/react/Suspense#revealing-nested-content-as-it-loads) la transición no la "esperaría". --- -### Building a Suspense-enabled router {/*building-a-suspense-enabled-router*/} +### Construir un router con Suspense {/*building-a-suspense-enabled-router*/} -If you're building a React framework or a router, we recommend marking page navigations as transitions. +Si estás construyendo un framework React o un router, te recomendamos marcar las navegaciones de página como transiciones. ```js {3,6,8} function Router() { @@ -1114,12 +1114,12 @@ function Router() { // ... ``` -This is recommended for two reasons: +Esto se recomienda por dos razones: -- [Transitions are interruptible,](#marking-a-state-update-as-a-non-blocking-transition) which lets the user click away without waiting for the re-render to complete. -- [Transitions prevent unwanted loading indicators,](#preventing-unwanted-loading-indicators) which lets the user avoid jarring jumps on navigation. +- [Las transiciones son interrumpibles,](#marking-a-state-update-as-a-non-blocking-transition) que permite al usuario hacer clic sin esperar a que se complete la nueva renderización. +- [Las transiciones evitan indicadores de carga no deseados,](#preventing-unwanted-loading-indicators) que permite al usuario evitar saltos bruscos en la navegación. -Here is a tiny simplified router example using transitions for navigations. +He aquí un pequeño ejemplo de enrutador simplificado que utiliza transiciones para las navegaciones. @@ -1495,17 +1495,17 @@ main { -[Suspense-enabled](/reference/react/Suspense) routers are expected to wrap the navigation updates into transitions by default. +[Suspense habilitado](/reference/react/Suspense) se espera que los routers envuelvan las actualizaciones de navegación en transiciones por defecto. --- -## Troubleshooting {/*troubleshooting*/} +## Solución de problemas {/*troubleshooting*/} -### Updating an input in a transition doesn't work {/*updating-an-input-in-a-transition-doesnt-work*/} +### No funciona la actualización de una entrada en una transición {/*updating-an-input-in-a-transition-doesnt-work*/} -You can't use a transition for a state variable that controls an input: +No se puede utilizar una transición para una variable de estado que controla una entrada: ```js {4,10} const [text, setText] = useState(''); @@ -1520,16 +1520,16 @@ function handleChange(e) { return ; ``` -This is because transitions are non-blocking, but updating an input in response to the change event should happen synchronously. If you want to run a transition in response to typing, you have two options: - -1. You can declare two separate state variables: one for the input state (which always updates synchronously), and one that you will update in a transition. This lets you control the input using the synchronous state, and pass the transition state variable (which will "lag behind" the input) to the rest of your rendering logic. -2. Alternatively, you can have one state variable, and add [`useDeferredValue`](/reference/react/useDeferredValue) which will "lag behind" the real value. It will trigger non-blocking re-renders to "catch up" with the new value automatically. +Esto se debe a que las transiciones no se bloquean, pero la actualización de una entrada en respuesta al evento de cambio debe producirse de forma sincrónica. Si desea ejecutar una transición en respuesta a la escritura, tiene dos opciones: +1. Puedes declarar dos variables de estado separadas: una para el estado de la entrada (que siempre se actualiza de forma sincrónica), y otra que actualizarás en una transición. Esto te permite controlar la entrada utilizando el estado síncrono, y pasar la variable de estado de transición (que "irá por detrás" de la entrada) al resto de tu lógica de renderizado. +2. Alternativamente, puedes tener una variable de estado, y añadir [`useDeferredValue`](/reference/react/useDeferredValue) que "irá por detrás" del valor real. Se activarán re-renders no bloqueantes para "ponerse al día" con el nuevo valor de forma automática. + --- -### React doesn't treat my state update as a transition {/*react-doesnt-treat-my-state-update-as-a-transition*/} +### React no trata mi actualización de estado como una transición {/*react-doesnt-treat-my-state-update-as-a-transition*/} -When you wrap a state update in a transition, make sure that it happens *during* the `startTransition` call: +Cuando envuelva una actualización de estado en una transición, asegúrese de que ocurre *durante* la llamada `startTransition`: ```js startTransition(() => { @@ -1538,9 +1538,9 @@ startTransition(() => { }); ``` -The function you pass to `startTransition` must be synchronous. +La función que pases a `startTransition` debe ser síncrona. -You can't mark an update as a transition like this: +No puedes marcar una actualización como una transición así: ```js startTransition(() => { @@ -1551,7 +1551,7 @@ startTransition(() => { }); ``` -Instead, you could do this: +En su lugar, podrías hacer esto: ```js setTimeout(() => { @@ -1562,7 +1562,7 @@ setTimeout(() => { }, 1000); ``` -Similarly, you can't mark an update as a transition like this: +Del mismo modo, no se puede marcar una actualización como una transición como esta: ```js startTransition(async () => { @@ -1572,7 +1572,8 @@ startTransition(async () => { }); ``` -However, this works instead: +Sin embargo, esto funciona en su lugar: + ```js await someAsyncFunction(); @@ -1584,15 +1585,14 @@ startTransition(() => { --- -### I want to call `useTransition` from outside a component {/*i-want-to-call-usetransition-from-outside-a-component*/} - -You can't call `useTransition` outside a component because it's a Hook. In this case, use the standalone [`startTransition`](/reference/react/startTransition) method instead. It works the same way, but it doesn't provide the `isPending` indicator. +### Quiero llamar a `useTransition` desde fuera de un componente {/*i-want-to-call-usetransition-from-outside-a-component*/} +No puedes llamar a `useTransition` fuera de un componente porque es un Hook. En este caso, utiliza el método independiente [`startTransition`](/reference/react/startTransition). Funciona de la misma manera, pero no proporciona el indicador `isPending`. --- -### The function I pass to `startTransition` executes immediately {/*the-function-i-pass-to-starttransition-executes-immediately*/} +### La función que paso a `startTransition` se ejecuta inmediatamente {/*the-function-i-pass-to-starttransition-executes-immediately*/} -If you run this code, it will print 1, 2, 3: +Si ejecutas este código, imprimirá 1, 2, 3: ```js {1,3,6} console.log(1); @@ -1603,7 +1603,7 @@ startTransition(() => { console.log(3); ``` -**It is expected to print 1, 2, 3.** The function you pass to `startTransition` does not get delayed. Unlike with the browser `setTimeout`, it does not run the callback later. React executes your function immediately, but any state updates scheduled *while it is running* are marked as transitions. You can imagine that it works like this: +**Se espera que imprima 1, 2, 3.** La función que pasas a `startTransition` no se retrasa. Al contrario que con el navegador `setTimeout`, no ejecuta el callback más tarde. React ejecuta tu función inmediatamente, pero cualquier actualización de estado programada *mientras se está ejecutando* se marca como transición. Puedes imaginar que funciona así: ```js // A simplified version of how React works From 5b83433f1a4799bb2f71033ec921bc2bb401512c Mon Sep 17 00:00:00 2001 From: Rainer Martinez Date: Sat, 6 May 2023 12:48:17 -0400 Subject: [PATCH 02/23] fix line numbers --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index d0b3b36f5..a2cc020f7 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -1574,7 +1574,6 @@ startTransition(async () => { Sin embargo, esto funciona en su lugar: - ```js await someAsyncFunction(); startTransition(() => { @@ -1588,6 +1587,7 @@ startTransition(() => { ### Quiero llamar a `useTransition` desde fuera de un componente {/*i-want-to-call-usetransition-from-outside-a-component*/} No puedes llamar a `useTransition` fuera de un componente porque es un Hook. En este caso, utiliza el método independiente [`startTransition`](/reference/react/startTransition). Funciona de la misma manera, pero no proporciona el indicador `isPending`. + --- ### La función que paso a `startTransition` se ejecuta inmediatamente {/*the-function-i-pass-to-starttransition-executes-immediately*/} From 72dc88cd18f2cc3ab58d5bd273974ae4805bba80 Mon Sep 17 00:00:00 2001 From: Rainer Martinez Date: Sat, 6 May 2023 12:51:02 -0400 Subject: [PATCH 03/23] remove additional spaces --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index a2cc020f7..ccdcc5228 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -1524,7 +1524,7 @@ Esto se debe a que las transiciones no se bloquean, pero la actualización de un 1. Puedes declarar dos variables de estado separadas: una para el estado de la entrada (que siempre se actualiza de forma sincrónica), y otra que actualizarás en una transición. Esto te permite controlar la entrada utilizando el estado síncrono, y pasar la variable de estado de transición (que "irá por detrás" de la entrada) al resto de tu lógica de renderizado. 2. Alternativamente, puedes tener una variable de estado, y añadir [`useDeferredValue`](/reference/react/useDeferredValue) que "irá por detrás" del valor real. Se activarán re-renders no bloqueantes para "ponerse al día" con el nuevo valor de forma automática. - + --- ### React no trata mi actualización de estado como una transición {/*react-doesnt-treat-my-state-update-as-a-transition*/} From e16632f8b703a558770c70ca0cefd1d52b81d9ca Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:08:31 +0200 Subject: [PATCH 04/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index ccdcc5228..77a732d7a 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -20,7 +20,7 @@ const [isPending, startTransition] = useTransition() ### `useTransition()` {/*usetransition*/} -Llama a `useTransition` en el nivel superior de su componente para marcar algunas actualizaciones de estado como transiciones. +Llama a `useTransition` en el nivel superior de tu componente para marcar algunas actualizaciones de estado como transiciones. ```js import { useTransition } from 'react'; From cd066255ae2e4cd91ba1fb094d0ca124f155037c Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:08:39 +0200 Subject: [PATCH 05/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index 77a732d7a..7b78c3e70 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -46,7 +46,7 @@ function TabContainer() { --- -### `startTransition` function {/*starttransition*/} +### Función `startTransition` {/*starttransition*/} La función `startTransition` devuelta por `useTransition` permite marcar una actualización de estado como una transición. From 3712553e6d54f8aa2a09bf690b002d8563748f43 Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:08:59 +0200 Subject: [PATCH 06/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index 7b78c3e70..8f1a7362f 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -66,7 +66,7 @@ function TabContainer() { #### Parámetros {/*starttransition-parameters*/} -* `scope`: Una función que actualiza algún estado llamando a uno o varios [`set` functions.](/reference/react/useState#setstate) React inmediatamente llama`scope` sin parámetros y marca todas las actualizaciones de estado programadas sincrónicamente durante el `scope` llamada de función como transiciones. Serán [sin bloqueo](#marking-a-state-update-as-a-non-blocking-transition) y [no mostrará indicadores de carga no deseados.](#preventing-unwanted-loading-indicators) +* `scope`: Una función que actualiza algún estado llamando a una o varias [funciones `set`.](/reference/react/useState#setstate) React inmediatamente llama a `scope` sin parámetros y marca todas las actualizaciones de estado programadas sincrónicamente durante la llamada a la función `scope` como transiciones. Serán [sin bloqueo](#marking-a-state-update-as-a-non-blocking-transition) y [no mostrarán indicadores de carga no deseados.](#preventing-unwanted-loading-indicators) #### Devuelve {/*starttransition-returns*/} From 29b07ebe39123cf28050e05241b08f9f016653c4 Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:09:25 +0200 Subject: [PATCH 07/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index 8f1a7362f..7595b35a3 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -74,7 +74,7 @@ function TabContainer() { #### Advertencias {/*starttransition-caveats*/} -* `useTransition` es un Gancho, por lo que sólo puede ser llamado dentro de componentes o Hooks personalizados. Si necesita iniciar una transición en otro lugar (por ejemplo, desde una biblioteca de datos), llame a la función independiente [`startTransition`](/reference/react/startTransition) en su lugar. +* `useTransition` es un Hook, por lo que sólo puede ser llamado dentro de componentes o Hooks personalizados. Si necesitas iniciar una transición en otro lugar (por ejemplo, desde una biblioteca de datos), llama a la función independiente [`startTransition`](/reference/react/startTransition) en su lugar. * Puedes envolver una actualización en una transición sólo si tienes acceso a la función `set` de ese estado. Si desea iniciar una transición en respuesta a algunas prop o algún valor de un Hook personalizado, intente [`useDeferredValue`](/reference/react/useDeferredValue) en su lugar. From 65152634a02f60ce569550cd93cecff1ed79187a Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:09:39 +0200 Subject: [PATCH 08/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index 7595b35a3..59e81e0c2 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -76,7 +76,7 @@ function TabContainer() { * `useTransition` es un Hook, por lo que sólo puede ser llamado dentro de componentes o Hooks personalizados. Si necesitas iniciar una transición en otro lugar (por ejemplo, desde una biblioteca de datos), llama a la función independiente [`startTransition`](/reference/react/startTransition) en su lugar. -* Puedes envolver una actualización en una transición sólo si tienes acceso a la función `set` de ese estado. Si desea iniciar una transición en respuesta a algunas prop o algún valor de un Hook personalizado, intente [`useDeferredValue`](/reference/react/useDeferredValue) en su lugar. +* Puedes envolver una actualización en una transición sólo si tienes acceso a la función `set` de ese estado. Si deseas iniciar una transición en respuesta a alguna prop o algún valor de un Hook personalizado, prueba [`useDeferredValue`](/reference/react/useDeferredValue) en su lugar. * La función que pases a `startTransition` debe ser síncrona. React ejecuta inmediatamente esta función, marcando como transiciones todas las actualizaciones de estado que se produzcan mientras se ejecuta. Si intentas realizar más actualizaciones de estado más tarde (por ejemplo, en un tiempo de espera), no se marcarán como transiciones. From 03b896505a9e001ae9cf66d2d60d57d004ab06f2 Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:10:18 +0200 Subject: [PATCH 09/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index 59e81e0c2..ec3eaf3ef 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -1495,7 +1495,7 @@ main { -[Suspense habilitado](/reference/react/Suspense) se espera que los routers envuelvan las actualizaciones de navegación en transiciones por defecto. +Se espera que los enredadores [preparados para Suspense](/reference/react/Suspense) envuelvan las actualizaciones de navegación en transiciones por defecto. From 2bf3437f9e155458e9ebd41f137b2bdc5332e035 Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:10:42 +0200 Subject: [PATCH 10/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index ec3eaf3ef..e78d6b813 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -1603,7 +1603,7 @@ startTransition(() => { console.log(3); ``` -**Se espera que imprima 1, 2, 3.** La función que pasas a `startTransition` no se retrasa. Al contrario que con el navegador `setTimeout`, no ejecuta el callback más tarde. React ejecuta tu función inmediatamente, pero cualquier actualización de estado programada *mientras se está ejecutando* se marca como transición. Puedes imaginar que funciona así: +**Se espera que imprima 1, 2, 3.** La función que pasas a `startTransition` no se retrasa. Al contrario que con el `setTimeout` del navegador, no ejecuta el callback más tarde. React ejecuta tu función inmediatamente, pero cualquier actualización de estado programada *mientras se está ejecutando* se marca como transición. Puedes imaginar que funciona así: ```js // A simplified version of how React works From 836620aee377c16215a0749f63f47f1ceb7d957e Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:10:49 +0200 Subject: [PATCH 11/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index e78d6b813..a130a779b 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -1529,7 +1529,7 @@ Esto se debe a que las transiciones no se bloquean, pero la actualización de un ### React no trata mi actualización de estado como una transición {/*react-doesnt-treat-my-state-update-as-a-transition*/} -Cuando envuelva una actualización de estado en una transición, asegúrese de que ocurre *durante* la llamada `startTransition`: +Cuando envuelvas una actualización de estado en una transición, asegúrate de que ocurre *durante* la llamada `startTransition`: ```js startTransition(() => { From 2f35e652d5f0dcf3da8efde515cd4d38aa5cc4b2 Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:10:57 +0200 Subject: [PATCH 12/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index a130a779b..099dd7d79 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -1520,7 +1520,7 @@ function handleChange(e) { return ; ``` -Esto se debe a que las transiciones no se bloquean, pero la actualización de una entrada en respuesta al evento de cambio debe producirse de forma sincrónica. Si desea ejecutar una transición en respuesta a la escritura, tiene dos opciones: +Esto se debe a que las transiciones son no bloqueantes, pero la actualización de una entrada en respuesta al evento de cambio debe producirse de forma sincrónica. Si deseas ejecutar una transición en respuesta a la escritura, tiene dos opciones: 1. Puedes declarar dos variables de estado separadas: una para el estado de la entrada (que siempre se actualiza de forma sincrónica), y otra que actualizarás en una transición. Esto te permite controlar la entrada utilizando el estado síncrono, y pasar la variable de estado de transición (que "irá por detrás" de la entrada) al resto de tu lógica de renderizado. 2. Alternativamente, puedes tener una variable de estado, y añadir [`useDeferredValue`](/reference/react/useDeferredValue) que "irá por detrás" del valor real. Se activarán re-renders no bloqueantes para "ponerse al día" con el nuevo valor de forma automática. From 80971a208702006930ae42b516d02df5273a036c Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:11:06 +0200 Subject: [PATCH 13/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index 099dd7d79..b6c9ea4ab 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -1523,7 +1523,7 @@ return ; Esto se debe a que las transiciones son no bloqueantes, pero la actualización de una entrada en respuesta al evento de cambio debe producirse de forma sincrónica. Si deseas ejecutar una transición en respuesta a la escritura, tiene dos opciones: 1. Puedes declarar dos variables de estado separadas: una para el estado de la entrada (que siempre se actualiza de forma sincrónica), y otra que actualizarás en una transición. Esto te permite controlar la entrada utilizando el estado síncrono, y pasar la variable de estado de transición (que "irá por detrás" de la entrada) al resto de tu lógica de renderizado. -2. Alternativamente, puedes tener una variable de estado, y añadir [`useDeferredValue`](/reference/react/useDeferredValue) que "irá por detrás" del valor real. Se activarán re-renders no bloqueantes para "ponerse al día" con el nuevo valor de forma automática. +2. Alternativamente, puedes tener una variable de estado, y añadir [`useDeferredValue`](/reference/react/useDeferredValue) que "irá por detrás" del valor real. Se activarán rerenderizados no bloqueantes para "ponerse al día" con el nuevo valor de forma automática. --- From 1f9a9906083939d2d5cc0eb2a8c13a74e041dc91 Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:11:25 +0200 Subject: [PATCH 14/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index b6c9ea4ab..1c5164f4e 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -80,7 +80,7 @@ function TabContainer() { * La función que pases a `startTransition` debe ser síncrona. React ejecuta inmediatamente esta función, marcando como transiciones todas las actualizaciones de estado que se produzcan mientras se ejecuta. Si intentas realizar más actualizaciones de estado más tarde (por ejemplo, en un tiempo de espera), no se marcarán como transiciones. -* Una actualización de estado marcada como transición será interrumpida por otras actualizaciones de estado. Por ejemplo, si actualizas un componente gráfico dentro de una transición, pero luego empiezas a escribir en un input mientras el gráfico está en medio de un re-renderizado, React reiniciará el trabajo de renderizado en el componente gráfico después de gestionar la actualización del input. +* Una actualización de estado marcada como transición será interrumpida por otras actualizaciones de estado. Por ejemplo, si actualizas un componente gráfico dentro de una transición, pero luego empiezas a escribir en un input mientras el gráfico está en medio de un rerenderizado, React reiniciará el trabajo de renderizado en el componente gráfico después de gestionar la actualización del input. * Las actualizaciones de transición no pueden utilizarse para controlar las entradas de texto. From 7faaae1442b97decac4dee8a8d4a40d83155082e Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:22:21 +0200 Subject: [PATCH 15/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index 1c5164f4e..0be5a4d15 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -1099,7 +1099,7 @@ Las transiciones sólo "esperarán" el tiempo suficiente para evitar ocultar el ### Construir un router con Suspense {/*building-a-suspense-enabled-router*/} -Si estás construyendo un framework React o un router, te recomendamos marcar las navegaciones de página como transiciones. +Si estás construyendo un framework de React o un enrutador, te recomendamos marcar las navegaciones de página como transiciones. ```js {3,6,8} function Router() { From 6aacc90b63fafc4d23366928e0766bd566670573 Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:22:35 +0200 Subject: [PATCH 16/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index 0be5a4d15..beb246d94 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -92,7 +92,7 @@ function TabContainer() { ### Marcar una actualización de estado como transición no bloqueante {/*marking-a-state-update-as-a-non-blocking-transition*/} -Llama a `useTransition` en el nivel superior de tu componente para marcar las actualizaciones de estado como no bloqueantes. *transitions*. +Llama a `useTransition` en el nivel superior de tu componente para marcar las actualizaciones de estado como *transiciones* no bloqueantes. ```js [[1, 4, "isPending"], [2, 4, "startTransition"]] import { useState, useTransition } from 'react'; From bd30e2e959e231b7e489929e5445901e5ce34115 Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:23:03 +0200 Subject: [PATCH 17/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index beb246d94..e105ec1bc 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -105,7 +105,7 @@ function TabContainer() { `useTransition` devuelve un array con exactamente dos elementos: -1. `isPending` flag que le indica si hay una transición pendiente. +1. `isPending` flag que te indica si hay una transición pendiente. 2. `startTransition` function que permite marcar una actualización de estado como una transición. A continuación, puede marcar una actualización de estado como una transición de esta manera: From efce68ca752ce3914b8455b15e52eb886eced248 Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:23:18 +0200 Subject: [PATCH 18/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index e105ec1bc..5b522e869 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -108,7 +108,7 @@ function TabContainer() { 1. `isPending` flag que te indica si hay una transición pendiente. 2. `startTransition` function que permite marcar una actualización de estado como una transición. -A continuación, puede marcar una actualización de estado como una transición de esta manera: +A continuación, puedes marcar una actualización de estado como una transición de esta manera: ```js {6,8} function TabContainer() { From 509be8a66bb86ee39ae650c8a04a6eebc441f82f Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:25:57 +0200 Subject: [PATCH 19/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index 5b522e869..43cf5b3c7 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -128,7 +128,7 @@ Las transiciones permiten mantener la capacidad de respuesta de las actualizacio Con una transición, la interfaz de usuario mantiene su capacidad de respuesta en medio de una nueva renderización. Por ejemplo, si el usuario hace clic en una pestaña pero luego cambia de opinión y hace clic en otra, puede hacerlo sin esperar a que termine la primera renderización. - + #### Actualizar la pestaña actual en una transición {/*updating-the-current-tab-in-a-transition*/} From 8a58e22f7dab7c9fd7443f98e39c979f928729f7 Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:26:09 +0200 Subject: [PATCH 20/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index 43cf5b3c7..ea87c0fca 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -562,7 +562,7 @@ b { display: inline-block; margin-right: 10px; } ### Visualización de un estado visual pendiente durante la transición {/*displaying-a-pending-visual-state-during-the-transition*/} -Puede utilizar el valor booleano `isPending` devuelto por `useTransition` para indicar al usuario que una transición está en curso. Por ejemplo, el botón de pestaña puede tener un estado visual especial "pendiente": +Puedes utilizar el valor booleano `isPending` devuelto por `useTransition` para indicar al usuario que una transición está en curso. Por ejemplo, el botón de la pestaña puede tener un estado visual especial "pendiente": ```js {4-6} function TabButton({ children, isActive, onClick }) { From d81a063cab8a2b12a276d923eadd1cd8110fbd32 Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:26:19 +0200 Subject: [PATCH 21/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index ea87c0fca..6d13af694 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -709,7 +709,7 @@ b { display: inline-block; margin-right: 10px; } ### Evitar indicadores de carga no deseados {/*preventing-unwanted-loading-indicators*/} -En este ejemplo, el componente `PostsTab` obtiene algunos datos utilizando una fuente de datos [Suspense-enabled](/reference/react/Suspense). Al hacer clic en la pestaña _"Posts"_, el componente `PostsTab` se *suspende*, haciendo que aparezca el fallback de carga más cercano: +En este ejemplo, el componente `PostsTab` obtiene algunos datos utilizando una fuente de datos [preparada par usarse con Suspense](/reference/react/Suspense). Al hacer clic en la pestaña _"Posts"_, el componente `PostsTab` se *suspende*, haciendo que aparezca el fallback de carga más cercano: From b5eb4c9b56d32aa926f41b046b86c3826def54f6 Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:26:30 +0200 Subject: [PATCH 22/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index 6d13af694..87d95bc8c 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -1091,7 +1091,7 @@ b { display: inline-block; margin-right: 10px; } -Las transiciones sólo "esperarán" el tiempo suficiente para evitar ocultar el contenido *ya revelado* (como el contenedor de la pestaña). Si la pestaña Entradas tuviera un [`` boundary anidado,](/reference/react/Suspense#revealing-nested-content-as-it-loads) la transición no la "esperaría". +Las transiciones sólo "esperarán" el tiempo suficiente para evitar ocultar el contenido *ya revelado* (como el contenedor de la pestaña). Si la pestaña Entradas tuviera una [barrera de `` anidada,](/reference/react/Suspense#revealing-nested-content-as-it-loads) la transición no la "esperaría". From 309874f7b8821dbe98202bb1ef9439713cd9be85 Mon Sep 17 00:00:00 2001 From: Antonio Galindo Date: Sun, 7 May 2023 16:26:39 +0200 Subject: [PATCH 23/23] Update src/content/reference/react/useTransition.md Co-authored-by: Rainer Martinez --- src/content/reference/react/useTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index 87d95bc8c..29718058a 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -1097,7 +1097,7 @@ Las transiciones sólo "esperarán" el tiempo suficiente para evitar ocultar el --- -### Construir un router con Suspense {/*building-a-suspense-enabled-router*/} +### Construir un enrutador preparado para Suspense {/*building-a-suspense-enabled-router*/} Si estás construyendo un framework de React o un enrutador, te recomendamos marcar las navegaciones de página como transiciones.