Os ganchos do ciclo de vida são uma parte muito importante de qualquer componente. Nós, nosso aplicativo, geralmente precisamos saber o que acontece com um componente quando ele é criado, montado, atualizado ou destruído.
No componente, podemos capturar esses eventos usando métodos apropriados, por exemplo:
- created - a instância do componente é criada
- montado - a instância do componente é montada
- updated - o DOM virtual foi atualizado devido a alterações nos dados
- destruído - a instância do componente é destruída
- etc. A documentação
No código do nosso componente, ele ficará assim:
Bom Mas e se o componente pai precisar saber o que está acontecendo no componente filho, por exemplo, que o componente foi atualizado? No componente filho, podemos gerar um evento e travar um ouvinte no componente pai. No código do nosso aplicativo, será assim:
Ótimo, ao atualizar o componente filho, o componente pai captura o evento atualizado e o método usefulMethod () é executado.
Está tudo bem! Mas e se precisarmos incorporar um componente de terceiros baixado do npm ou git e fazer algo útil no componente pai, por exemplo, ao montá-lo? Entre no código de um componente de terceiros, em um gancho montado para gerar um evento ... Não é uma boa ideia! Mas e se eu lhe disser que você não precisa! Em vez disso, podemos apenas ouvir o evento! O nome desse evento será o nome do gancho do ciclo de vida, mas o prefixo
@hook:
deve ser
@hook:
algo como
@hook:___
, por exemplo:
@hook:mounted, @hook:updated @hook:destroyed
.
No código, será algo parecido com isto:
Parece-me que essa é uma funcionalidade muito útil para trabalhar com componentes próprios e de terceiros. Espero que você ache útil. É um pouco estranho que não exista uma palavra na documentação e alguns recursos possam ser encontrados apenas lendo o código-fonte.
Obrigado pela leitura. Leia a doca e a fonte! E com o próximo ano de 2020!