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: content/docs/strict-mode.md
+9-9
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,19 @@
1
1
---
2
2
id: strict-mode
3
-
title: Modo estrícto
3
+
title: Modo estricto
4
4
permalink: docs/strict-mode.html
5
5
---
6
6
7
7
`StrictMode` es una herramienta para destacar problemas potenciales en la aplicación. Al igual que `Fragment`, `StrictMode` no renderiza nada en la UI. Este modo también activa advertencias y comprobaciones adicionales para sus descendientes.
8
8
9
9
> Nota:
10
10
>
11
-
> Las comprobaciones hechas por el modo estrícto solamente son ejecutadas en el modo de desarrollo; _no van a impactar producción_.
11
+
> Las comprobaciones hechas por el modo estricto solamente son ejecutadas en el modo de desarrollo; _no van a impactar producción_.
12
12
13
-
Puedes habilitar el modo estrícto para cualquier parte de tu aplicación. Por ejemplo:
13
+
Puedes habilitar el modo estricto para cualquier parte de tu aplicación. Por ejemplo:
14
14
`embed:strict-mode/enabling-strict-mode.js`
15
15
16
-
En el ejemplo anterior, las comprobaciones del modo estrícto*no* va a correr en los componentes de `Header` y `Footer`. Sin embargo, `ComponentOne` y `ComponentTwo`, así como todos sus descendientes, tendrán las comprobaciones.
16
+
En el ejemplo anterior, las comprobaciones del modo estricto*no* va a correr en los componentes de `Header` y `Footer`. Sin embargo, `ComponentOne` y `ComponentTwo`, así como todos sus descendientes, tendrán las comprobaciones.
17
17
18
18
`StrictMode` en la actualidad ayuda a:
19
19
*[Identificar ciclos de vida inseguros](#identifying-unsafe-lifecycles)
@@ -26,7 +26,7 @@ Funcionalidades adicionales serán agregadas en futuras versiones de React.
26
26
27
27
### Identificar ciclos de vida inseguros {#identifying-unsafe-lifecycles}
28
28
29
-
Como fue explicado [en este artículo del blog](/blog/2018/03/27/update-on-async-rendering.html), algúnos cíclos de vida antiguos son inseguros para ser usados en aplicaciones de React asíncronas. Sin embargo, si tu aplicación utiliza librerías de terceros, puede ser díficil asegurar que estos ciclos de vida no estén siendo utilizados. Por fortuna, ¡el modo estrícto puede ayudar con esto!
29
+
Como fue explicado [en este artículo del blog](/blog/2018/03/27/update-on-async-rendering.html), algúnos cíclos de vida antiguos son inseguros para ser usados en aplicaciones de React asíncronas. Sin embargo, si tu aplicación utiliza librerías de terceros, puede ser díficil asegurar que estos ciclos de vida no estén siendo utilizados. Por fortuna, ¡el modo estricto puede ayudar con esto!
30
30
31
31
Cuando el modo estricto está habilitado, React reune en una lista todos los componentes de clases que están usando ciclos de vida inseguros, y registra por medio de un mensaje de advertencia la información sobre estos componentes, de esta forma:
32
32
@@ -41,7 +41,7 @@ Anteriormente, React proporcionaba dos formas para utilizar refs: la API legado
41
41
React 16.3 agregó una tercera opción que ofrece la comodidad que tiene string ref sin ninguna de las desventajas:
Desde que los object refs fueron agregados en gran parte como reemplazo a los string refs, el modo estrícto ahora advierte sobre el uso de string refs.
44
+
Desde que los object refs fueron agregados en gran parte como reemplazo a los string refs, el modo estricto ahora advierte sobre el uso de string refs.
45
45
46
46
> **Nota:**
47
47
>
@@ -97,7 +97,7 @@ El ciclo de vida de la fase de renderizado incluye los siguientes métodos de lo
97
97
98
98
Ya que los métodos arriba mencionados pueden ser llamados más de una vez, es importante que estos no contengan ningún efecto secundario. Ignorar esta regla puede llevar a una cantidad de problemas, incluyendo fugas de memoria y estados de aplicación inválido. Desafortunadamente, puede ser muy difícil el detectar estos problemas ya con frecuencia pueden ser [no determinísticos](https://en.wikipedia.org/wiki/Deterministic_algorithm).
99
99
100
-
El modo estrícto no puede detectar efectos secundarios de forma automática por ti, pero te puede ayudar a encontrarlos al hacerlos un poco más determinísticos. Esto se logra al invocar dos veces los siguientes métodos:
100
+
El modo estricto no puede detectar efectos secundarios de forma automática por ti, pero te puede ayudar a encontrarlos al hacerlos un poco más determinísticos. Esto se logra al invocar dos veces los siguientes métodos:
101
101
102
102
* El método `constructor` en los componentes de clases
103
103
* El método `render`
@@ -113,11 +113,11 @@ Por ejemplo, considera el siguiente código:
113
113
114
114
En primera instancia, este código no debería parecer problemático. Pero si `SharedApplicationState.recordEvent` no es [idempotente](https://en.wikipedia.org/wiki/Idempotence#Computer_science_meaning), entonces al instanciar este componente múltiples veces puede llevar a que tenga un estado de aplicación inválido. Estos tipo de bug sutiles pueden no manifestarse durante el desarrollo, o quizas sí lo hagan pero de forma inconsistente y se pase por alto.
115
115
116
-
Al invocar los métodos dos veces, como el constructor del componente, el modo estrícto hace que patrones como estos sean más fáciles de encontrar.
116
+
Al invocar los métodos dos veces, como el constructor del componente, el modo estricto hace que patrones como estos sean más fáciles de encontrar.
117
117
118
118
### Detectar el uso de la API legado para el contexto {#detecting-legacy-context-api}
119
119
120
-
La API legado para el contexto es propensa a errores, y será eliminada en una versión principal a futuro. Aún está funcionando para todas las versiones 16.x pero mostrará el siguiente mensaje de advertencia si se usa en modo estrícto:
120
+
La API legado para el contexto es propensa a errores, y será eliminada en una versión principal a futuro. Aún está funcionando para todas las versiones 16.x pero mostrará el siguiente mensaje de advertencia si se usa en modo estricto:
0 commit comments