ReactCSSTransitionGroup 似乎没有应用动画

ReactCSSTransitionGroup doesn't seem to be applying animations

我正在开发我的第一个 React 应用程序,我正在尝试在 "pages"(我正在添加和删除的顶级组件)之间进行简单的淡入淡出过渡。我正在研究一个看起来非常简单的例子 here

我的渲染方法如下所示:

render: function() {
    var currentPage;
    switch (this.state.currentPage) {
        case pages.DASHBOARD:
            currentPage = <Dashboard />;
            break;
        case pages.PROFILE:
            currentPage = <Profile />;
            break;
    }

    var currentPageDiv = <div key={currentPage}> {currentPage} </div>;

    return (
        <div className = 'App'>
            <Header />
            <ReactCSSTransitionGroup transitionName="pageChange">
                {currentPageDiv}
            </ReactCSSTransitionGroup>
            <Footer />
        </div>
    );
},

而 CSS 看起来像这样:

.pageChange-enter {
  opacity: 0.01;
  transition: opacity .5s ease-in;
}

.pageChange-enter.pageChange-enter-active {
  opacity: 1;
}

.pageChange-leave {
  opacity: 1;
  transition: opacity .5s ease-in;
}

.pageChange-leave.pageChange-leave-active {
  opacity: 0.01;
}

当状态更新时,页面会按预期过渡到另一个页面。但是过渡只是 "pops" 与我添加 TransitionGroup 代码之前的方式相同(因此 TransitionGroup 代码似乎没有任何功能效果)。我犯了什么菜鸟错误?

将您的 key 更改为一个简单的字符串,而不是您当前拥有的 React 组件。例如:

var currentPageDiv = <div key={this.state.currentPage}> {currentPage} </div>;