Todos os componentes

MotionPresence

Mantém o conteúdo montado enquanto ele entra e sai animado.

WebReact NativeConteúdo e tamanho

Experimente

Preparando o exemplo…

Uso mais curto

Notice.jsx
<MotionPresence present={visible} exit={{ opacity: 0, translateY: -12 }}>
  Draft saved
</MotionPresence>;

O que ele resolve para você

  • Mude present em vez de desmontar; o conteúdo sai antes de ser removido.
  • Restaurar durante uma saída continua dos valores atuais.
  • Conteúdo que aparece de novo entra a partir da pose exit.
  • O primeiro render mostra em repouso, então conteúdo que já estava ali não pisca.

Use para

  • Um aviso de rascunho salvo.
  • Uma mensagem de cupom no checkout.
  • Uma mensagem de erro embaixo de um campo.

Props

PropTipoPadrãoDescrição
presentboolean—obrigatóriaMostra ou oculta o conteúdo. Mude isto em vez de desmontar.
enterPose{ opacity: 1, translateY: 0 }A pose em repouso.
exitPose{ opacity: 0, translateY: -12 }A pose com que o conteúdo sai e a partir da qual entra.
aselement'div'O elemento a renderizar.
transitionTransitionspringUma curva de tempo { duration, easing } ou uma mola { tempo: 'spring', spring }. As molas mantêm o embalo quando interrompidas.
onExitComplete() => voidRoda depois que o conteúdo saiu e foi removido.

As outras props vão para o elemento renderizado, então className, style e handlers de eventos funcionam normalmente.

Web e React Native

As poses usam opacity, translateX, translateY, scale, scaleX, scaleY, rotate, width e height. onExitComplete roda depois que o conteúdo saiu.

As mesmas poses e props funcionam no React Native.

Usado nestes exemplos

Pesquisar

Digite para pesquisar na documentação.