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)
|