javascript - ReactCSSTransitionGroup 不激活过渡

标签 javascript css reactjs

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;
    };
};

我已经尝试了 Google 提供的许多功能,但没有任何效果。然而,一切似乎都井然有序。代码有什么问题?

最佳答案

您的 SASS 代码建议将事件状态类应用于拼图元素内的元素,但我认为情况并非如此。

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

关于javascript - ReactCSSTransitionGroup 不激活过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36320508/

相关文章:

ReactJS 动态添加多个输入字段

javascript - 构建前"Target container is not a DOM element"

javascript - React Native 永远挂起

css - flexbox 一个元素固定高度,其他填充

javascript - Google Chrome 的 "New Tab"iframe 是如何工作的?

css - Flexbox:第一个 child 如何拥有其内容的宽度,而第二个 child 如何填充其余宽度

javascript - Infogram 嵌入代码未在 React 中呈现

javascript - 将 css rtl 定向格式复制到剪贴板

javascript - 在样式化 map 中获取方向

javascript - 使用带有用户输入的函数时出现问题