Ich versuche, meine eigene persönliche Website zu erstellen, und versuche, React dafür zu verwenden. In diesem Prozess beabsichtige ich, jede Sektion zu einer anderen React-Komponente zu machen. Mein Plan ist, dass die Navigationsleiste oben auswählen kann, welche Komponente gerade "aktiv" ist und tatsächlich gerendert und angezeigt wird. Außerdem möchte ich, wenn ich zu einem neuen Abschnitt wechsele, dass die alte Komponente eine "Verlassen" -Animation hat und die neue Komponente eine "Eingabe" -Animation (diese wird mit react-motion ausgeführt). Momentan werden jedoch sowohl das Eintreten als auch das Verlassen gleichzeitig ausgeführt, da ich den aktiven Zustand für beide Komponenten gleichzeitig ändere. Gibt es eine Möglichkeit zu verzögern, dass eine Komponente aktiv wird, nachdem eine andere inaktiv geworden ist?Verzögerung beim Rendern einer Komponente?
Die übergeordnete Komponente, die jeden Abschnitt beherbergt sieht so aus:
class Home extends React.Component{
render() {
let content = (
<div>
Home
</div>
)
if (!this.props.active){
return (
//Some jsx that results in the content leaving the page
)
}
return(
//Some jsx that results in the content entering the page
)
}
}
Sie können eine Set-Timeout-Funktion verwenden. Wenn mich jemand nicht schlägt, kann ich eine Antwort schreiben. –
Da ich Ihre Abhängigkeiten nicht sehen kann, gehe ich davon aus, dass Sie die aktuellste Version von react-router v4 verwenden. In den Dokumenten finden Sie [animierte Übergänge] (https://reacttraining.com/reac- router/web/example/animated-transitions). – Ozan