ReactCSSTransitionGroup seulement bon avec l'animation dans les nouveaux composants?
J'ai ReactCSSTransitionGroup fonctionne bien (je pense), le nouvellement monté composant fondus dans dans toute sa splendeur.
Le problème est que la pièce à remplacer juste disparaît brusquement, un problème pour moi parce que finalement, je voudrais que mes composants de transition dans et hors de la fenêtre d'affichage...
Je n'ai pas l'impression de voir de toute façon de raconter l'laissant composante comment disparaître d'élégance.
Suis-je raté quelque chose ou est ReactCSSTransitionGroup seulement capable de l'animation de l'entrants composant?
Mise à JOUR
Code ci-dessous:
import React from "react";
import ReactDOM from "react-dom";
import { Router, Route, IndexRoute, hashHistory, Link } from "react-router";
import ReactCSSTransitionGroup from "react-addons-css-transition-group";
class PageOne extends React.Component {
render() {
return (
<ReactCSSTransitionGroup transitionName="example" transitionAppear={true} transitionAppearTimeout={500} transitionEnterTimeout={500} transitionLeaveTimeout={500}>
<div>
HI FROM PAGE ONE<br />
<br />
<Link to="two">Take me to Page Two</Link>
</div>
</ReactCSSTransitionGroup>
);
}
}
class PageTwo extends React.Component {
render() {
return (
<ReactCSSTransitionGroup transitionName="example" transitionAppear={true} transitionAppearTimeout={500} transitionEnterTimeout={500} transitionLeaveTimeout={500}>
<div>
HELLO FROM PAGE TWO<br />
<br />
<Link to="/">Go back to Page One</Link>
</div>
</ReactCSSTransitionGroup>
);
}
}
const app = document.getElementById('app');
ReactDOM.render(
<Router history={hashHistory}>
<Route path="/" component={PageOne}></Route>
<Route path="two" component={PageTwo}></Route>
</Router>,
app);
Et le CSS:
.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;
}
Explication sur réagir transitions qui explique que vous pouvez avoir des transitions apparaissent, d'entrer et de quitter. Si vous avez besoin de plus d'aide ici, pourriez-vous partager un peu de code?
Mis à jour le post avec le minimum de code pour montrer ce que je vais pour. Le code ci-dessus n'est pas fade in/out sur la composante monter/démonter.
Mis à jour le post avec le minimum de code pour montrer ce que je vais pour. Le code ci-dessus n'est pas fade in/out sur la composante monter/démonter.
OriginalL'auteur Stefan | 2016-03-07
Vous devez vous connecter pour publier un commentaire.
Ok, on dirait qu'ils avaient il a déjà et je n'ai pas découvert jusqu'à maintenant.
L'Réagissent-Routeur repo git a une liste d'exemples et dans les est un pour "l'Animation". Cette démo montre comment vous pouvez tirer parti de ReactCSSTransitionGroup pour animer in/out "Pages" par le clonage de l'élément et l'attribution d'une touche.
https://reacttraining.com/react-router/web/example/animated-transitions
OriginalL'auteur Stefan
J'ai créé un bin qui fonctionne bien pour les composants à être monté/démonté. Jetez un oeil et laissez-moi savoir si ça id similaire à ce que vous faites et toujours pas en mesure de résoudre le problème
Une autre question pourrait être, est ReactCSSTransitionGroup quelque chose qui devrait être utilisé pour les transitions de page pour commencer?
J'ai pris le code vers le bas pour que le strict minimum, veuillez regarder ci-dessus pour voir de quoi je parle. Les composants ne sont pas fade in/out à monter/démonter. Est ReactCSSTransitionGroup seulement bon pour la transition des choses telles que les éléments de la liste? Dois-je besoin d'essayer de gérer les pages comme des éléments dans une liste?
La meilleure façon d'expliquer le cas d'utilisation de ReactCSSTransitionGroup est l'ajout/suppression d'éléments de la liste parce que nous pouvons suivre l'élément entrant ou sortant de la DOM dans une liste scénario. Reporter: 1ReactCSSTransitionGroup est basé sur ReactTransitionGroup et est un moyen facile pour effectuer les transitions CSS et des animations Réagir lorsqu'un composant entre ou quitte le DOM.` Donc, si vous l'appliquez à une page de transition dans et hors de DOM vous avez besoin de la transition sur le parent de la vue conteneur, où les vues sont en cours de rendu. Ajout d'un lien, comme dans votre exemple, ne fonctionne pas
@AdityaSingh points, ReactCSSTransitionGroup ne couvre pas les animations sur les changements de page (comme dans réagissent routeur). Si vous souhaitez appliquer des transitions sujet de la navigation sur les routes, vous voudrez peut-être consulter solution qui remplace
<Location>
composant pour réaliser des transitions de page.OriginalL'auteur Aditya Singh