Elementul trece de la mărimea de pe ecran la mărimea naturală a noului conținut, așa că butoanele nu sar niciodată.
Conținutul vechi se estompează pe loc în timp ce apare cel nou; niciunul nu se reașază în timpul schimbării.
Revenirea în mijlocul unei schimbări continuă de la ce e pe ecran, în loc să adune copii.
Copiii cu text simplu sunt propriul value; pentru orice altceva transmiteți value.
Folosiți-o pentru
Salvează, apoi Se salvează…, apoi Salvat.
Un schelet care devine card de profil.
Un buton de redare care devine pauză.
Props
Prop
Tip
Implicit
Descriere
value
unknown
Identitatea conținutului; o valoare nouă declanșează schimbarea. Copiii cu text simplu sunt propria identitate.
children
ReactNode
Conținutul.
as
element
'span'
Elementul de randat.
inline
boolean
as === 'span'
true se dimensionează după conținut (etichete, pictograme); false umple lățimea părintelui și animă înălțimea.
align
'start' | 'center' | 'end'
'center'
Unde stă conținutul cât se schimbă mărimea.
effect
'fade' | 'up' | 'down' | 'scale'
'fade'
Cum intră și iese conținutul: up urcă, down coboară, scale crește.
transition
Transition
spring
O curbă timing { duration, easing } sau un arc { tempo: 'spring', spring }. Arcurile își păstrează impulsul când sunt întrerupte.
onMotionComplete
(value) => void
Rulează când mișcarea se așază.
Celelalte props merg la elementul randat, așa că className, style și handlerele de evenimente funcționează ca de obicei.
Web și React Native
inline (implicit când se randează ca span) animă lățimea și înălțimea; inline={false} umple lățimea părintelui și animă înălțimea.
În React Native, schimbările inline măsoară noul conținut pe un singur rând; folosiți inline={false} pentru conținut care se încadrează pe mai multe rânduri.