Ich bin neu zu reagieren und reagieren Animationen. Also mit "Erscheinen" Animationen beim Laden der Seite funktioniert alles. Aber jetzt habe ich ein Problem. Wenn ich auf das nav klicke, möchte ich, dass das neue div nicht nur sofort angezeigt wird, sondern langsam eingeblendet wird (oder irgendeine andere Animation für diesen Mather), aber es funktioniert nicht.ReactJS onClick ReactCSSTransitionGroup Animation
TLDR; Mit dem onClick-Ereignis wird die gerade festgelegte Animation nicht zu einer neuen Klasse.
Auch vielleicht jemand weiß, wie ReactCSSTransitionGroup nur funktionieren, wenn ich auf einen bestimmten Teil der Website scrool? Danke!
import React from "react";
import ReactDOM from "react-dom";
import ReactCSSTransitionGroup from "react-addons-css-transition-group";
export default class Nav extends React.Component {
constructor() {
super();
this.state = {
navStatus: "navHide"
};
}
navClose(e) {
e.stopPropagation();
this.setState({
navStatus: "navHide",
navLines: "navLines show"
});
}
navOpen() {
this.setState({
navStatus: "navShow",
navLines: "navLines hide"
});
}
render() {
return(
<nav>
<div className={this.state.navLines} onClick={this.navOpen.bind(this)}>
</div>
<ReactCSSTransitionGroup transitionName="navShow" transitionAppear={true} transitionEnterTimeout={500} transitionLeaveTimeout={300}>
<div id="myNav" className={this.state.navStatus}>
<div className="navClose" onClick={this.navClose.bind(this)}>
<img className="navCloseBtn" src="svg/close.svg"></img>
</div>
</div>
</ReactCSSTransitionGroup>
</nav>
);
}
}
Zu viele 'bind (..)' Anrufe. Entfernen Sie die Anweisungen 'this.fn = this.fn.bind (this)'. Diese sind unattraktiv und unnötig. Sie rufen auch 'this.navClose.bind (this)' in Ihrem onClick-Handler auf, was mich wundern lässt, warum Sie die Aliase überhaupt erstellt haben ... – wpcarro
Sicher denken. Ich habe es entfernt, sieht aus wie es keinen Zweck hat. Wie auch immer, vielleicht rufst du mich mit der ReactCssTransitionGroup an? – xoomer
siehe meine Antwort unten. Ich habe oft mit ReactCSSTransitionGroups gearbeitet und kann viele Fragen beantworten, die Sie vielleicht haben. – wpcarro