Blog

Como utilizar animações Lottie com React

A imagem mostra um computador com códigos, simbolizando animações Lottie com React.
Desenvolvimento / Desenvolvimento de Software / Front-End / Programação

Como utilizar animações Lottie com React

A Lottie é uma biblioteca desenvolvida pela Airbnb que é utilizada para adicionar animações em sites e aplicativos. Ela trabalha em conjunto com um plugin do After Effects chamado Bodymovin que tem a função de converter a animação criada para um objeto JSON. Pensando nisso, neste artigo, vamos aprender como utilizar animações Lottie com React.

Por que utilizar animações Lottie com React?

Existem muitas vantagens em utilizar animações Lottie com React. Com a Lottie, podemos adicionar animações em nossos projetos que são facilmente manipuláveis através de propriedades.

Assim, essa biblioteca possui ótima qualidade, desempenho e fluidez, tendo um tamanho bem inferior quando comparada com a utilização de PNG e GIF. Além disso, a Lottie aumenta a velocidade de download e economiza memória.

Como utilizá-la?

Criamos um passo a passo para utilização de animações Lottie com React. Então vamos conferir?

1. Escolher a Animação

Primeiramente, precisamos criar uma conta no site da Lottie para ter acesso às animações. Fazendo isso, já teremos acesso a diversas animações gratuitas. Assim, escolha a animação que preferir e faça o download do arquivo JSON.

2. Adicionar a Lottie ao projeto React

Com a nossa aplicação React já criada, devemos instalar a biblioteca react-lottie com o seguinte comando:

  • Se estiver utilizando npm:

npm install react-lottie

  • Se estiver utilizando yarn:

yarn add react-lottie

Depois disso, se estiver utilizando Typescript, instale a tipagem do react-lottie com o seguinte comando:

  • Se estiver utilizando npm:

npm install –save-dev @types/react-lottie

  • Se estiver utilizando yarn:

yarn add @types/react-lottie -D

3. Utilizar a Biblioteca

Adicionar animações

Devemos adicionar as animações baixadas em JSON ao nosso projeto. Para isso, podemos criar um diretório chamado animations e adicioná-las dentro dele, como o exemplo a seguir:

Importação do arquivo

Precisamos realizar a importação do nosso arquivo JSON e da Lottie no componente em que utilizaremos a animação. Dessa forma, no exemplo abaixo, estamos importando uma animação de carregamento que chamamos de “loadingAnimation”.

Adicionar componente

Agora, devemos adicionar o nosso componente Lottie que deverá obrigatoriamente ter uma propriedade chamada “options”. Assim, ele irá conter um objeto com a chave animationData, que deverá receber o arquivo JSON da nossa animação que foi importado. Dessa forma:

Com isso, já teremos este resultado:

Adicionar propriedades

Perceba que a animação está em loop (é um comportamento default que pode ser alterado adicionando a chave “loop” que recebe um booleano ao objeto de “options”), sendo pausada ao ser clicada. Porém, esse não é o comportamento que desejamos, já que estamos utilizando uma animação de carregamento.

Então, vamos resolver esse problema e adicionar mais propriedades à animação.

Mudar o comportamento de pause

Para mudar o comportamento de pause, adicionamos a propriedade “isClickToPauseDisabled” recebendo true. Dessa forma, também adicionamos as principais propriedades que a nossa animação pode receber, que são:

  • isPaused: define se está pausada ou não (ao pausar, a animação fica no frame em que foi pausada);
  • isStopped: define se está parada ou não (ao parar, a animação fica no frame inicial);
  • direction: define se a animação vai seguir o fluxo normal ou se irá ser reproduzida de trás para frente (1 ou -1);
  • speed: define a velocidade da animação;
  • height: define a altura da imagem;
  • width: define a largura da imagem;
  • options: recebe um objeto que pode possuir a chave loop e autoplay, que definem, respectivamente, se queremos que a animação nunca pare e se ela começará instantaneamente.

Criar animações avançadas

Com isso, temos a nossa animação de carregamento funcionando perfeitamente! Agora, com esse conhecimento, podemos criar animações mais avançadas, utilizando estados para controlar as propriedades da nossa animação. Por exemplo:

Conclusão

Utilizar animações Lottie com React pode melhorar muito o seu site ou aplicativo. Pensando nisso, confira o repositório contendo todas as animações clicando aqui.

Leia também:

Como automatizar a criação de componentes funcionais em ReactJs

Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
  • Attributes
  • Custom attributes
  • Custom fields
Click outside to hide the comparison bar
Compare