Skip to content

Commit 0d38b8a

Browse files
committed
Translate 'Concurrent Mode Adoption'
1 parent 482c5dc commit 0d38b8a

File tree

1 file changed

+39
-30
lines changed

1 file changed

+39
-30
lines changed

content/docs/concurrent-mode-adoption.md

Lines changed: 39 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -6,60 +6,69 @@ prev: concurrent-mode-patterns.html
66
next: concurrent-mode-reference.html
77
---
88

9-
>Caution:
10-
>
11-
>This page describes **experimental features that are not yet available in a stable release**. Don't rely on experimental builds of React in production apps. These features may change significantly and without a warning before they become a part of React.
12-
>
13-
>This documentation is aimed at early adopters and people who are curious. If you're new to React, don't worry about these features -- you don't need to learn them right now.
9+
<style>
10+
.scary > blockquote {
11+
background-color: rgba(237, 51, 21, 0.2);
12+
border-left-color: #ed3315;
13+
}
14+
</style>
15+
16+
<div class="scary">
1417

15-
- [Installation](#installation)
16-
- [Who Is This Experimental Release For?](#who-is-this-experimental-release-for)
17-
- [Enabling Concurrent Mode](#enabling-concurrent-mode)
18-
- [What to Expect](#what-to-expect)
19-
- [Migration Step: Blocking Mode](#migration-step-blocking-mode)
20-
- [Why So Many Modes?](#why-so-many-modes)
21-
- [Feature Comparison](#feature-comparison)
18+
>Advertencia:
19+
> Esta página describe **funcionalidades experimentales que [aún no están disponibles](/docs/concurrent-mode-adoption.html) en una versión estable**. No dependas de compilados experimentales de React en aplicaciones en producción. Estas funcionalidades pueden cambiar significativamente y sin advertencia antes de formar parte de React.
20+
>
21+
> Esta documentación está dirigida a usuarios pioneros y personas que sienten curiosidad. Si te estás iniciando en React, no te preocupes por estas funcionalidades, no necesitas aprenderlas inmediatamente.
22+
23+
</div>
24+
25+
- [Instalación](#installation)
26+
- [¿Para quién es esta versión experimental?](#who-is-this-experimental-release-for)
27+
- [Habilitar el modo concurrente](#enabling-concurrent-mode)
28+
- [¿Qué esperar?](#what-to-expect)
29+
- [Paso de migración: modo de bloqueo](#migration-step-blocking-mode)
30+
- [¿Por qué tantos modos?](#why-so-many-modes)
31+
- [Comparación de características](#feature-comparison)
2232

2333
## Instalación {#installation}
2434

25-
El Modo Concurrente solo está disponible en [compilados de prueba](/blog/2019/10/22/react-release-channels.html#experimental-channel) de React. Para instalarlos, ejecuta:
35+
El Modo Concurrente solo está disponible en [compilados experimentales](/blog/2019/10/22/react-release-channels.html#experimental-channel) de React. Para instalarlos, ejecuta:
2636

2737
```
2838
npm install react@experimental react-dom@experimental
2939
```
3040

31-
**No hay garantías de versionado semántico para los compilados experimentales.**
32-
41+
**No hay garantías de versionado semántico para los compilados experimentales.**
3342
Se puede añadir, cambiar o eliminar las API en cualquier versión `@experimental`.
3443

3544
**Las versiones experimentales tendrán frecuentes cambios disruptivos.**
3645

37-
Puedes probar estos compilados en proyectos personales o en una rama, pero no recomendamos ejecutarlos en producción. En Facebook, ** los ejecutamos en producción, pero solo porque también estamos allí para solucionar los errores cuando algo se rompe. ¡Has sido advertido!
46+
Puedes probar estos compilados en proyectos personales o en una rama, pero no recomendamos ejecutarlos en producción. En Facebook, ** los ejecutamos en producción, pero solo porque también estamos ahí para solucionar los errores cuando algo se rompe. ¡Has sido advertido!
3847

39-
### ¿Para quién es la versión experimental? {#who-is-this-experimental-release-for}
48+
### ¿Para quién es la versión experimental? {#who-is-this-experimental-release-for}
4049

4150
Esta versión está dirigida principalmente a los pioneros, autores de bibliotecaas y gente curiosa.
4251

4352
Estamos usando este código en producción (y nos funciona), pero aún existen algunos errores, funcionalides que faltan, y lagunas en la documentación. Nos gustaría escuchar más acerca de qué se rompe en el Modo Concurrente para que lo podamos preparar mejor para una versión oficial estable en el futuro.
4453

4554
### Habilitar el Modo Concurrente {#enabling-concurrent-mode}
4655

47-
Normalmente, cuando añadimos nuevas funcionalidades a React, puedes comenzar a usarlas inmediantamente. Los Fragmentos, el Contexto, e incluso los Hooks son ejemplos de tales funcionalidades. Las puedes usar en código nuevo sin hacer ningún cambio al código existente.
56+
Normalmente, cuando añadimos nuevas funcionalidades a React, puedes comenzar a usarlas inmediantamente. Los Fragmentos, el contexto, e incluso los Hooks son ejemplos de tales funcionalidades. Las puedes usar en código nuevo sin hacer ningún cambio al código existente.
4857

4958
El Modo Concurrente es diferente. Introduce cambios semánticos a cómo React funciona. De otra forma, las [nuevas funcionalidades](/docs/concurrent-mode-patterns.html) que se habilitan *no serían posibles*. Es por eso que están agrupadas en un nuevo "modo" en lugar de ser lanzadas una por una por separado.
5059

5160
No puedes optar por el Modo Concurrente en base a sub árboles. En cambio, para optar por él, tienes que hacerlo en el lugar donde hoy llamas a `ReactDOM.render()`.
5261

53-
**Esto habilitará el Modo Concurrente para todo el árbol `<App>`:**
62+
**Esto habilitará el Modo Concurrente para todo el árbol `<App />` :**
5463

5564
```js
5665
import ReactDOM from 'react-dom';
5766

58-
// If you previously had:
67+
// Si anteriormente tuvo:
5968
//
6069
// ReactDOM.render(<App />, document.getElementById('root'));
6170
//
62-
// You can opt into Concurrent Mode by writing:
71+
// Puede optar por el modo concurrente escribiendo:
6372

6473
ReactDOM.createRoot(
6574
document.getElementById('root')
@@ -70,31 +79,31 @@ ReactDOM.createRoot(
7079
>
7180
>Las API del Modo Concurrente como `createRoot` solo existen en los compilados experimentadles de React.
7281
73-
En el Modo Concurrente, los métodos de ciclo de vida [previamente marcadas](https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html) como "inseguras" de hecho *son* inseguras, y conducen aún a más errores que en React hoy en día. No recomendamos intentar el Modo Concurrente hasta que tu aplicación es compatible con el [Modo estricto](https://reactjs.org/docs/strict-mode.html).
82+
En el Modo Concurrente, los métodos de ciclo de vida [previamente marcados](https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html) como "inseguras" de hecho son inseguras, y conducen aún a más errores que en React hoy en día. No recomendamos intentar el Modo Concurrente hasta que tu aplicación es compatible con el [Modo estricto](https://reactjs.org/docs/strict-mode.html).
7483

7584
## ¿Qué esperar? {#what-to-expect}
7685

7786
Si tienes una aplicación grande existente, o si tu aplicación depende en muchos paquetes de terceros, por favor no esperes que seas capaz de usar el Modo Concurrente de forma inmediata. **Por ejemplo, en Facebook estamos usando el Modo concurrente para el nuevo sitio web, pero no tenemos planeado habilitarlo en el sitio antiguo.** Esto ocurre porque nuestro antiguo sitio web aún utiliza métodos de ciclo de vida inseguros en el código del producto, bibliotecas de terceros incompatibles y patrones que no funcionan bien en el Modo Concurrente.
7887

7988
En nuestra experiencia, el código que usa patrones idiomáticos de React y que no depende en soluciones del manejo de estado de forma externa es el más fácil de conseguir que se ejecute en el Modo Concurrente. Describiremos los problemas comunes que hemos visto y las soluciones a ellas de forma separada en las próximas semanas.
8089

81-
### Paso de migración: Modo de bloqueo {#migration-step-blocking-mode}
90+
### Paso de migracion: Modo de bloqueo {#migration-step-blocking-mode}
8291

83-
Para bases de código más antiguas, el Modo Concurrente pueden ser un paso que vaya demasiado lejos. Por eso es que también proporcionamos un nuevo "Modo de bloqueo" en los compilados experimentales de React. Puedes probarlos sustituyendo `createRoot` con `createBlockingRoot`. Solo ofrece un *pequeño subconjunto* de la funcionalidades del Modo Concurrente, pero es más cercan a como React funciona hoy y puede servir como un paso de migración.
92+
Para bases de código más antiguas, el Modo Concurrente pueden ser un paso que vaya demasiado lejos. Por eso es que también proporcionamos un nuevo "Modo de bloqueo" en los compilados experimentales de React. Puedes probarlos sustituyendo`createRoot` con `createBlockingRoot`. Solo ofrece un *pequeño subconjunto* de la funcionalidades del Modo Concurrente, pero es más cercan a como React funciona hoy y puede servir como un paso de migración.
8493

8594
Para recapitular:
8695

87-
* **Modo legado:** `ReactDOM.render(<App />, rootNode)`. Es el que las aplicaciones de React utilizan hoy en día. No hay planes para eliminar el modo legado en el futuro cercano, pero no será capaz de incluir estas nuevas funcionalidades.
96+
* **Modo legado:** `ReactDOM.render(<App />, rootNode)`. Es el que las aplicaciones de React utilizan hoy en día. No hay planes para eliminar el modo legado en el futuro cercano, pero no será capaz de incluir estas nuevas funcionalidades.
8897
* **Modo de bloqueo:** `ReactDOM.createBlockingRoot(rootNode).render(<App />)`. Actualmente es experimental. Su intención es ser un primer paso para la migración de las aplicaciones que quieran obtener un subconjunto de las funcionalidades del Modo Concurrente.
89-
* **Modo Concurrente:** `ReactDOM.createRoot(rootNode).render(<App />)`. Actualmente es experimental. En el futuro, luego de que se estabilice, esperamos convertirlo en el modo predeterminado para React. Este modo habilita *todas* las nuevas funcionalidades.
98+
* **Modo Concurrente:** `ReactDOM.createRoot(rootNode).render(<App />)`. . Actualmente es experimental. En el futuro, luego de que se estabilice, esperamos convertirlo en el modo predeterminado para React. Este modo habilita *todas* las nuevas funcionalidades.
9099

91100
### ¿Por qúe tantos modos? {#why-so-many-modes}
92101

93102
Pensamos que es mejor ofrecer una [estrategia gradual de migración](/docs/faq-versioning.html#commitment-to-stability) que hacer grandes cambios disruptivos, o dejar que React se estanque hasta la irrelevancia.
94103

95-
En la práctica, esperamos que la mayoría de las aplicaciones que usan el Modo Legado hoy sean capaces de migrar al menos al Modo de bloqueo (si no al Modo Concurrente). Esta fragmentación puede ser molesta para las bibliotecas que se propongan se compatibles con todos los modes a corto plazo. Sin embargo, mover gradualmente al ecosistema lejos del Modo Legado, también *resolverá* problemas que afectan a bibliotecas importantes en el ecosistema, como el [comportamiento confuso de Suspense al leer una disposición de elementos](https://github.com/facebook/react/issues/14536) y la [falta de garantías consistentes en el procesamiento por lotes](https://github.com/facebook/react/issues/15080). Existen un número de errores que no pueden ser solucionados en el Modo Legado sin cambiar semánticas, pero que no existen en el Modo de bloqueo o el Concurrente.
104+
En la práctica, esperamos que la mayoría de las aplicaciones que usan el Modo Legado hoy sean capaces de migrar al menos al Modo de bloqueo (si no al Modo Concurrente). Esta fragmentación puede ser molesta para las librerias que se propongan ser compatibles con todos los modos a corto plazo. Sin embargo, mover gradualmente al ecosistema lejos del Modo Legado, también *resolverá* problemas que afectan a bibliotecas importantes en el ecosistema, como el [comportamiento confuso de Suspense al leer una disposición de elementos](https://github.com/facebook/react/issues/14536) y la [falta de garantías consistentes en el procesamiento por lotes](https://github.com/facebook/react/issues/15080). Existen un número de errores que no pueden ser solucionados en el Modo Legado sin cambiar semánticas, pero que no existen en el Modo de bloqueo o el Concurrente.
96105

97-
Puedes hacerte la idea del Modo de bloqueo como una versión "graciosamente???? degradada" del Modo Concurrente. **Como resultado, a largo plazo debemos ser capaces de converger y parar de pensar de una vez por todas acerca de los distintos Modos.** Pero por ahora, los modos son una estrategia importante de migración. Le permiten a todos decidir cuándo vale la pena migrar, y realizar las actualizaciones a su propio paso.
106+
Puedes hacerte la idea del Modo de bloqueo como una versión "graciosamente degradada" del Modo Concurrente. **Como resultado, a largo plazo debemos ser capaces de converger y parar de pensar de una vez por todas acerca de los distintos Modos.** Pero por ahora, los modos son una estrategia importante de migración. Le permiten a todos decidir cuándo vale la pena migrar, y realizar las actualizaciones a su propio paso.
98107

99108
### Comparación de funcionalidades {#feature-comparison}
100109

@@ -106,7 +115,7 @@ Puedes hacerte la idea del Modo de bloqueo como una versión "graciosamente????
106115

107116
<div id="feature-table">
108117

109-
| |Legacy Mode |Blocking Mode |Concurrent Mode |
118+
| |Modo Heredado|Modo Bloqueo |Modo Concurrente |
110119
|--- |--- |--- |--- |
111120
|String Refs ||🚫** |🚫** |
112121
|Legacy Context ||🚫** |🚫** |
@@ -126,6 +135,6 @@ Puedes hacerte la idea del Modo de bloqueo como una versión "graciosamente????
126135

127136
</div>
128137

129-
\*: El modo legado tiene procesamiento por lotes automático en los eventos manejados por React, pero está limitado a una tarea del navegador. Los eventos que no son de React deben optar por ese comportamiento uando `unstable_batchedUpdates`. En el Modo de bloqueo y el concurrente, todos los `setState` son procesados en lote de forma predeterminada.
138+
\*: El modo legado tiene procesamiento por lotes automático en los eventos manejados por React, pero está limitado a una tarea del navegador. Los eventos que no son de React deben optar por ese comportamiento usando `unstable_batchedUpdates`. En el Modo de bloqueo y el concurrente, todos los `setState` son procesados en lote de forma predeterminada.
130139

131140
\*\*: Muestra advertencias en desarrollo.

0 commit comments

Comments
 (0)