Ich versuche animierte Übergänge bei der Routenänderung in meiner React/Redux-App einzurichten. Ich habe Beispiele für SO und die offiziellen Tutorials als Leitfaden verwendet, bin aber bisher nur in der Lage gewesen, den Fade-In-Effekt zu erhalten, um beim ersten Laden zu arbeiten. Wenn Sie Routen ändern, werden die Komponenten ohne Animation angezeigt.ReactJS ReactCSSTransitionGroup animiert nur beim ersten Laden
Fehle ich etwas offensichtlich - und ist dies der beste Weg zu folgen, wenn Sie versuchen, den Inhalt in/out zu animieren?
/*
** Loop through ACF components to layout page
*/
blocks =() => {
if (this.props.pages.pages[0]) {
return this.props.pages.pages[0].acf.components &&
this.props.pages.pages[0].acf.components.map((block, index) => {
let Component = componentMapping[block.acf_fc_layout];
return <Component key={index} data={block} id={index} />;
});
}
};
/*
** Render page on state change
*/
render() {
return (
<div className="App">
<NavContainer />
<ReactCSSTransitionGroup
transitionName="example"
transitionAppear={true}
transitionAppearTimeout={500}
transitionEnterTimeout={500}
transitionLeaveTimeout={300}
>
{this.blocks()}
</ReactCSSTransitionGroup>
</div>
);
}
Die CSS-I enthalten sind, ist wie folgt:
.example-enter {
opacity: 0.01;
}
.example-enter.example-enter-active {
opacity: 1;
transition: opacity 500ms ease-in;
}
.example-leave {
opacity: 1;
}
.example-appear {
opacity: 0.01;
}
.example-appear.example-appear-active {
opacity: 1;
transition: opacity .5s ease-in;
}
.example-leave.example-leave-active {
opacity: 0.01;
transition: opacity 300ms ease-in;
}
ich jede Hilfe dankbar, dass jemand geben könnte. Danke im Voraus!
Es ist schwer zu sagen, nur mit dem Code, den Sie geliefert haben. Ich nehme an, Sie haben alle notwendigen css zum "Ausblenden" sowie "Einblenden" aufgenommen? – Jackson
Entschuldigung! Css hinzugefügt über – craigo
Es kann sein, weil Sie einen Funktionsaufruf innerhalb der ' ' verwenden ... Versuchen Sie es mit nur 'blocks = this.props.pages.pages [0] .acf.components.map (((block, index) => {...} 'stattdessen und schau, ob du Glück hast –
Jackson