0Pricing
React Academy · Aula

Fundamentos do React Spring: hook useSpring

Anime valores com useSpring — configure tensão, atrito e massa para obter um movimento natural.

Fundamentos do React Spring: hook useSpring é uma aula grátis de React Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de React Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de React Academy inclui 4 aulas no total.

Física de molas versus animação baseada em duração

Animações CSS tradicionais usam uma duração fixa: a animação é executada durante X milissegundos e para. react-spring anima valores usando física de molas — a animação é impulsionada por tensão (rigidez da mola) e atrito (quanto a mola resiste ao movimento). Isso produz um movimento que desacelera naturalmente e transmite uma sensação orgânica.

Uso básico de useSpring

O gancho useSpring({ from, to }) define um valor animado. Você especifica os valores iniciais em from e os valores de destino em to. useSpring retorna um objeto de molas no qual cada chave é um SpringValue — uma versão animada do valor numérico ou de cor correspondente.

Configuração da mola: tensão e atrito

A opção config controla o comportamento da mola. tensão (padrão 170) controla a rigidez — valores maiores fazem o movimento atingir o destino mais rapidamente. atrito (padrão 26) controla o amortecimento — valores menores produzem mais quique. massa (padrão 1) adiciona inércia. Juntos, esses três valores definem o caráter da animação.

Configurações predefinidas

react-spring vem com configurações predefinidas que você pode usar sem ajustar os valores: config.default é equilibrada e de uso geral, config.gentle é lenta e suave, config.wobbly oscila com baixo atrito, config.stiff é rápida e responsiva, e config.slow é muito gradual. Importe-as de react-spring.

Objetos SpringValue

Os valores retornados por useSpring são objetos SpringValue, não números comuns. Não é possível renderizá-los diretamente em JSX nem usá-los em objetos de estilo comuns. Eles precisam ser aplicados a componentes animated.* que sabem como se inscrever nas atualizações das molas e aplicá-las ao DOM com eficiência.

immediate: Ignorar a animação

Passar immediate: true para useSpring faz com que os valores saltem instantaneamente para o destino, ignorando a animação da mola. Isso é útil na renderização inicial, quando o usuário ativou "reduzir movimento" nas configurações do OS, ou quando é necessário redefinir a posição por meio de código sem qualquer movimento visual.

Inverter uma mola

É possível inverter uma animação de mola alternando quais valores são usados como origem e destino em from e to. Um padrão comum é armazenar o estado de uma alternância booleana e calcular a origem e o destino com base nele: quando a alternância é falsa, a animação vai de 0 a 1; quando é verdadeira, vai de 1 a 0. O react-spring faz a transição entre os estados suavemente.

API imperativa: api.start()

useSpring pode retornar uma matriz com dois elementos: const [springs, api] = useSpring(() => ({ from: { x: 0 } })). O objeto api oferece controle programático. Chame api.start({ x: 100 }) para animar até um novo valor, api.stop() para congelar a animação e api.set({ x: 50 }) para saltar até o valor sem animação.

Quando usar a forma declarativa ou imperativa

Use a forma declarativa useSpring({ from, to }) quando a animação depender do estado do React que muda normalmente. Use a forma imperativa com api.start() quando precisar disparar animações a partir de manipuladores de eventos, gestos ou operações assíncronas sem causar novas renderizações do React.

Funções de retorno de eventos da mola

useSpring aceita funções de retorno do ciclo de vida em sua configuração. onStart é executado quando a mola começa a animar. onChange é executado a cada quadro com o valor atual — útil para efeitos colaterais que acompanham a posição. onRest é executado quando a mola se estabiliza em seu valor final, indicando que a animação foi concluída.

Executar novamente as molas após uma alteração de estado

Na forma declarativa, useSpring executa automaticamente a animação novamente quando os valores passados a ele mudam. Por exemplo, useSpring({ opacity: isVisible ? 1 : 0 }) animará a opacidade sempre que isVisible mudar. Essa é a forma mais simples de vincular animações de mola ao estado do componente.

Parâmetros da física das molas

Na configuração do react-spring, o que tensão e atrito controlam?

Resumo da lição: fundamentos de useSpring

O react-spring anima usando física: tensão (rigidez), atrito (amortecimento) e massa definem o movimento. useSpring({ from, to }) retorna objetos SpringValue aplicados a componentes animated.*. Configurações predefinidas (suave, oscilante, rígida, lenta) abrangem casos comuns. A API imperativa [springs, api] permite controle programático por meio de api.start(), api.stop() e api.set(). onRest é executado quando a animação se estabiliza.

Perguntas Frequentes

A aula “Fundamentos do React Spring: hook useSpring” é grátis?

Sim — o texto completo de “Fundamentos do React Spring: hook useSpring” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de React Academy, atualize para CoddyKit PRO. O curso de React Academy inclui 4 aulas no total.

O que vou aprender em “Fundamentos do React Spring: hook useSpring”?

Anime valores com useSpring — configure tensão, atrito e massa para obter um movimento natural. Você pratica React Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar React Academy?

Nenhuma experiência prévia é necessária. React Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Fundamentos do React Spring: hook useSpring”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de React Academy?

Sim. Cada aula de React Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Fundamentos do React Spring: hook useSpring
  2. Componentes animados e interpolação de estilos
  3. useTrail e useChain para sequências
  4. Animações orientadas por gestos com use-gesture
← Voltar para React Academy