Quando animazione di un elemento in React possiamo utilizzare un frammento come:Cosa fa in realtà transitionEnterTimeout/transitionLeaveTimeout in React?
<div>
<button onClick={this.handleAdd}>Add Item</button>
<ReactCSSTransitionGroup transitionName="example" transitionEnterTimeout={500} transitionLeaveTimeout={300}>
{items}
</ReactCSSTransitionGroup>
</div>
Insieme con le animazioni css complimenti.
Ho letto la documentazione (che si trova qui: https://facebook.github.io/react/docs/animation.html)but io non sono sicuro al 100% quello che i due timeout attributi in realtà non vorrei azzardare un'ipotesi e dire che sono un ripiego se l'animazione non completa
??Qualora i valori corrispondono ai css nei valori/durata, o dovrebbero essere superiori ai valori di animazione?
.example-enter {
opacity: 0.01;
}
.example-enter.example-enter-active {
opacity: 1;
transition: opacity 500ms ease-in;
}
.example-leave {
opacity: 1;
}
.example-leave.example-leave-active {
opacity: 0.01;
transition: opacity 300ms ease-in;
}
Proprio come un seguito, attualmente, gli oggetti di scena '* Timeout' non fanno nulla se la classe applicata ha una transizione o un'animazione ad essa associata. È possibile impostare il valore su qualsiasi cosa si desideri e 'ReactCSSTransitionGroup' lo ignora a favore dell'ascolto degli eventi' animationEnd' o 'transitionEnd' che il browser emette. L'unica volta che quei valori fanno qualcosa è quando la classe è priva di transizioni o animazioni. –
@ noob-in-need Non penso che sia completamente vero - (almeno non nella versione attuale). Se imposto timeout molto alti, ma tempi di animazione bassi, l'animazione si concluderà, ma l'elemento non verrà rimosso fino a quando la transizioneEnd time non sarà disponibile – Chris