ReactCSSTransitionGroup
verwendet eine CSS-Datei zum Definieren und Speichern von Übergängen. Das ist schön und funktioniert gut. Was aber, wenn eine Komponente eine variable Übergangskonfiguration benötigt, z. B. eine Variable transition-duration
, die einen Wert von 0ms bis 10000ms annehmen kann? Wie würde ich den Wert transition-duration
innerhalb der JavaScript-Klasse der Komponente ändern, wenn sie in einer CSS-Datei gespeichert ist?Variable Übergänge in React mit ReactCSSTransitionGroup
Beispiel:
Angenommen, Sie eine Diashow-Komponente machen wollen, und Sie wollen eine Option implementieren, um die Fading-Dauer (die Zeit, die Animation von einer Folie zur anderen verblassen nimmt) zu ändern . Sie rufen die Komponente wie folgt aus:
<Slideshow fadeDuration={1000}>
Dies ist, wie die Komponente, die Übergänge zu dem Schiebeelement hinzufügt, die gerendert wird werden:
render: function() {
return (
<div>
<ReactCSSTransitionGroup
transitionName="example"
transitionEnterTimeout={500}
transitionLeaveTimeout={300}>
{this.slide}
</ReactCSSTransitionGroup>
</div>
);
}
Dies ist die CSS-Datei von ReactCSSTransitionGroup
benötigt definieren die Übergänge:
.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;
}
Nun, wie verwende ich props.fadeDuration
innerhalb der Komponente den Wert von transition-duration
, die innerhalb t legt sich ändern er css datei?
Bisher ist die einzige Sache, die mir in den Sinn kam, war, dass ich die ReactCSSTransitionGroup
entfernen müssen und die Übergänge manuell mit refs und die 'Style Object' 'transition' property erstellen. Ist das der Weg zu gehen? Oder wie würde ich es tun?
Könnten Sie mir bitte ein kurzes Beispiel geben, wie man das mit jss macht? – Rotareti
Sicher, nur einen Moment. –
Sorry, ich musste gehen, konnte das Problem nicht posten. Ich werde morgen mit einem Beispiel zurück sein. –