ReactCSSTransitionGroup未激活转换



ReactCSSTransitionGroup除了延迟我想要显示的元素之外,对我没有任何作用。我正在尝试让我的组件在页面加载时淡出。这是有问题的代码:

import React from 'react';
import ReactCSSTransitionGroup from 'react/lib/ReactCSSTransitionGroup';
...
render() {
    if(this.state.mounted) {
        var child = (
            <div>
                <h1>{this.state.title}</h1>
                <p>Description: {this.state.description}</p>
                <p>Language(s): {this.state.lang}</p>
            </div>
        );
    }
    else {
        var child = null;
    }
    return (
        <div className="container">
            <ReactCSSTransitionGroup transitionAppear={true} transitionAppearTimeout={1000} transitionName="puzzle" transitionEnterTimeout={500} transitionLeaveTimeout={300}>
                {child}
            </ReactCSSTransitionGroup>
        </div>
    )
}

这是用SASS编写的CSS:

.puzzle-appear {
    opacity: .01;
    .puzzle-appear-active {
        opacity: 1;
        transition: opacity 1000ms ease-in;
    };
};
.puzzle-enter {
    opacity: .01;
    .puzzle-enter-active {
        opacity: 1;
        transition: opacity 500ms ease-in;
    };
};
.puzzle-leave {
    opacity: 1;
    .puzzle-leave-active {
        opacity: .01;
        transition: opacity 300ms ease-in;
    };
};

我试过谷歌提供的很多东西,但都没用。然而,一切似乎都井然有序。代码出了什么问题?

SASS代码建议将活动状态类应用于谜题元素中的元素,但我不认为是这样。

如果在渲染时可以看到应用的类,并且该部分工作正常,那么这可能就是问题所在。将-active样式移出其当前嵌套位置。

最新更新