gpt4 book ai didi

javascript - react CSSTransition 不起作用?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:40:23 25 4
gpt4 key购买 nike

我试图让登录组件在加载页面时淡入,然后在呈现新组件时淡出。根本没有褪色发生,它只是出现。我在其他帖子中读到您需要一个 key ,但我不知道在这种情况下 key 值是什么?

return (
<div className="box2">
<CSSTransition
transitionName="example"
transitionAppear={true}
transitionAppearTimeout={500}
transitionEnter={false}
transitionLeave={false}>
<Login/>
</CSSTransition>
<Button bsStyle="primary"
onClick={this.changeView}>SUBMIT</Button>
</div>
);

CSS:

example-enter {
opacity: 0.01;
}

.example-enter.example-enter-active {
opacity: 1;
transition: opacity 500ms ease-in;
}

.example-leave {
opacity: 1;
}

.example-leave.example-leave-active {
opacity: 0.01;
transition: opacity 300ms ease-in;
}


.example-appear {
opacity: 0.01;
}

.example-appear.example-appear-active {
opacity: 1;
transition: opacity .5s ease-in;
}

最佳答案

您使用的是版本 2 的 CSSTransition 组件,但传递给它的是版本 1 的属性名称。如果您查看控制台,您可能会看到 React 无法识别“transitionName”、“transitionAppear”等的警告。

这是一种使用版本 2 的 CSSTransition 组件来完成您正在寻找的东西的方法。

<CSSTransition
classNames="example"
timeout={500}
in={this.state.mounted}
>
<Login/>
</CSSTransition>

默认情况下,CSSTransition 组件不会在页面加载时运行 enter 动画,因此您需要将 in 属性设置为任意值开始时为 false 但在 componentDidMount 上设置为 true 的值。这是一个 CodeSandbox,因此您可以看到完整的实现:https://codesandbox.io/s/v8w3jxo94l

关于javascript - react CSSTransition 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46690763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com