私はReact/Reduxアプリケーション内の経路変更でアニメーション化されたトランジションを設定しようとしています。私はSOと公式のチュートリアルの例をガイドとして使用していますが、これまでのところ、最初の負荷で作業するためにフェードを得ることはできませんでした。ルートを変更すると、コンポーネントはアニメーションなしで表示されます。ReactJS ReactCSSTransitionGroupは初期ロード時にアニメ化するだけです
明らかなことがありません。コンテンツをアニメーション化しようとすると、これは最適な方法ですか?
/*
** 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>
);
}
次のように私が含まれているCSSは次のとおりです。
.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;
}
私は誰も与えることができることを任意の助けに感謝。前もって感謝します!
あなたが提供したコードだけでは分かりません。私はあなたが必要なCSSをすべて「フェードイン」と「フェードイン」に含めたとしますか? – Jackson
お詫び! Cssが上に追加されました – craigo
'ReactCSSTransitionGroup />'の中で関数呼び出しを使用している可能性があります... 'blocks = this.props.pages.pages [0] .acf.components.map(ブロック、インデックス)=> {...} '代わりにあなたが運があるかどうかを確認してください – Jackson