Escuché que el modo estricto ayuda a escribir el código React de la manera más práctica al lanzar advertencias para la eliminación de los métodos del ciclo de vida.
Lo leí en https://medium.com/@baphemot/whats-new-in-react-16-3-d2c9b7b6193b
¿Es correcto mi entendimiento? ¿Qué tan efectivo es el modo estricto? ¿Es solo para métodos de ciclo de vida inseguros? Si no, ¿puedo usar esta característica en componentes funcionales?
import { StrictMode} from “react”; class Test extends Component{ render( <StrictMode> //Some other child component which has all lifecycle methods implemented in it </StrictMode> ); }StrictMode de React es una especie de componente auxiliar que lo ayudará a escribir mejores componentes de reacción, puede envolver un conjunto de componentes con <StrictMode /> y básicamente:
Como dice la documentación, el modo estricto está orientado al desarrollo, por lo que no debe preocuparse de que afecte su compilación de producción.
Me resultó especialmente útil implementar el modo estricto cuando estoy trabajando en nuevas bases de código y quiero ver qué tipo de código/componentes estoy enfrentando. Además, si está en modo de búsqueda de errores, a veces es una buena idea envolver con <StrictMode /> los componentes/bloques de código que cree que pueden ser el origen del problema.
Así que sí, estás en el camino correcto para entender el modo estricto, sigue así, creo que es una de esas cosas que entiendes mejor cuando juegas con ellos, así que adelante y diviértete.
Advertencia:
StrictModerenderizará los componentes dos veces solo en el modo de desarrollo, no en el de producción.
Por ejemplo, si está utilizando el método getDerivedStateFromProps así
static getDerivedStateFromProps(nextProps, prevState){// it will call twice if(prevState.name !== nextProps.name){ console.log(`PrevState: ${prevState.name} + nextProps: ${nextProps.name}`) return { name: nextProps.name } } return {} } El método getDerivedStateFromProps llamará dos veces.
Solo para hacerle saber que esto no es un problema, es solo porque está envolviendo su componente principal con <StrictMode> en el archivo index.js .
StrictMode representa los componentes dos veces para detectar cualquier problema con su código y advertirle sobre ellos.
En resumen, StrictMode ayuda a identificar API/ciclos de vida inseguros, heredados o obsoletos. Se utiliza para resaltar posibles problemas. Dado que es una herramienta de desarrollo, solo se ejecuta en modo de desarrollo. Representa cada componente dentro de la aplicación web dos veces para identificar y detectar cualquier problema en la aplicación y mostrar mensajes de advertencia.