【问题标题】:ReactCSSTransitionGroup doesn't seem to be applying animationsReactCSSTransitionGroup 似乎没有应用动画
【发布时间】:2015-06-11 06:46:01
【问题描述】:

我正在开发我的第一个 React 应用程序,我正在尝试在“页面”(我正在添加和删除的顶级组件)之间进行简单的淡入淡出转换。我正在研究看似非常简单的例子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;
}

当状态更新时,页面会按照应有的方式转换到其他页面。但是过渡只是“弹出”,与我添加 TransitionGroup 代码之前的方式相同(因此,TransitionGroup 代码似乎没有任何功能效果)。我犯了什么菜鸟错误?

【问题讨论】:

    标签: reactjs reactjs-flux


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-10
      • 1970-01-01
      • 2017-07-01
      相关资源
      最近更新 更多