77 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
title: Life Cycle Methods Of A Component
 | 
						|
localeTitle: Métodos del ciclo de vida de un componente
 | 
						|
---
 | 
						|
## Métodos del ciclo de vida de un componente
 | 
						|
 | 
						|
Cuando comenzamos a trabajar con componentes, necesitamos realizar varias acciones para actualizar el estado o realizar algunas acciones cuando algo cambia en ese componente. En este escenario, ¡los métodos de ciclo de vida de un componente son útiles! Así que vamos a sumergirnos en ellos en este artículo.
 | 
						|
 | 
						|
En términos generales, podemos dividir los métodos del ciclo de vida en **3** categorías.
 | 
						|
 | 
						|
1.  Montaje
 | 
						|
2.  Actualizando
 | 
						|
3.  Desmontaje
 | 
						|
 | 
						|
Como los métodos del ciclo de vida son autoexplicativos, solo mencionaré los nombres de los métodos. Por favor, siéntase libre de contribuir a este artículo, si es necesario.
 | 
						|
 | 
						|
## Montaje:
 | 
						|
 | 
						|
a. `constructor()`
 | 
						|
 | 
						|
segundo. `componentWillMount()`
 | 
						|
 | 
						|
do. `render()`
 | 
						|
 | 
						|
re. `componentDidMount()`
 | 
						|
 | 
						|
## Actualizando:
 | 
						|
 | 
						|
a. `componentWillRecieveProps()`
 | 
						|
 | 
						|
segundo. `shouldComponentUpdate()`
 | 
						|
 | 
						|
do. `componentWillUpdate()`
 | 
						|
 | 
						|
re. `render()`
 | 
						|
 | 
						|
mi. `componentDidUpdate()`
 | 
						|
 | 
						|
## Desmontaje:
 | 
						|
 | 
						|
a. `componentWillUnmount()`
 | 
						|
 | 
						|
## Algunos datos interesantes a tener en cuenta:
 | 
						|
 | 
						|
*   `constructor` , `componentWillMount` , `componentDidMount` y `componentWillUnmount` se llamarán solo una vez durante el ciclo de vida de un componente.
 | 
						|
*   `componentWillUpdate` , y `componentDidUpdate` solo se ejecutarán si y solo si `shouldComponentUpdate` devuelve true.
 | 
						|
*   Se llamará a `componentWillUnmount()` justo antes de desmontar cualquier componente y, por lo tanto, se puede usar para liberar la memoria utilizada, cerrar cualquier conexión a DB, etc.
 | 
						|
 | 
						|
Se pueden aprender muchas cosas sumergiéndose en la codificación. Así que ensucia tus manos codificando.
 | 
						|
 | 
						|
Nota:
 | 
						|
 | 
						|
> "Las advertencias de desaprobación se habilitarán con una futura versión 16.x, **pero los ciclos de vida heredados continuarán funcionando hasta la versión 17.** " 1
 | 
						|
> 
 | 
						|
> "Incluso en la versión 17, aún será posible usarlos, pero tendrán un alias con un prefijo" SEGURO\_ "para indicar que podrían causar problemas. También hemos preparado un [script automatizado para cambiar el nombre](https://github.com/reactjs/react-codemod#rename-unsafe-lifecycles) en el código existente". 1
 | 
						|
 | 
						|
En otras palabras, estos métodos de ciclos de vida anteriores aún estarán disponibles como:
 | 
						|
 | 
						|
*   `UNSAFE_componentWillMount`
 | 
						|
*   `UNSAFE_componentWillReceiveProps`
 | 
						|
*   `UNSAFE_componentWillUpdate`
 | 
						|
 | 
						|
## Nuevos métodos de ciclo de vida
 | 
						|
 | 
						|
Se introducirán nuevos métodos de ciclo de vida en React 17
 | 
						|
 | 
						|
*   `getDerivedStateFromProps` será una alternativa más segura a `componentWillReceiveProps` .
 | 
						|
*   `getSnapshotBeforeUpdate` agregará `getSnapshotBeforeUpdate` para admitir la lectura segura de las propiedades de DOM.
 | 
						|
 | 
						|
Se pueden aprender muchas cosas sumergiéndose en la codificación. Así que ensucia tus manos codificando.
 | 
						|
 | 
						|
### Fuentes
 | 
						|
 | 
						|
1.  [Vaughn, Brian. "React v16.3.0: nuevos ciclos de vida y API de contexto". 29 de marzo de 2018. Acceso: 22 de mayo de 2018.](https://reactjs.org/blog/2018/03/29/react-v-16-3.html)
 | 
						|
 | 
						|
### Recursos
 | 
						|
 | 
						|
[Actualización sobre renderizado asíncrono](https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html) |