私はアニメーションに反応して反応するのが初めてです。そのため、ページの読み込み時に「表示」アニメーションを使用すると、すべてが機能します。しかし今、私には問題があります。ナビゲーションをクリックすると、新しい div がすぐに表示されるだけでなく、ゆっくりとフェードイン (またはそのマザーの他のアニメーション) されますが、機能しません。
TLDR; onClick イベントは、設定したばかりのアニメーションを新しいクラスにしません。
また、Web サイトの特定の部分にスクロールしたときにのみ ReactCSSTransitionGroup が機能するようにする方法を誰かが知っているでしょうか? ありがとう!
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>
);
}
}