CSSTransition过渡输入活动事件未按预期工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSSTransition过渡输入活动事件未按预期工作相关的知识,希望对你有一定的参考价值。

我是JS,React和CSSTransition的新手,因此,如果其中任何一项显而易见,请原谅。我正在尝试为div输入一些基本的进入/退出动画(理想情况是从右滑入并向左滑出,但现在只是尝试使用不透明度来保持简单)。

虽然我可以渲染页面,但以下CSS事件却无法正常工作:*-转换输入* -transition-enter-active,*-过渡退出,* -transition-exit-active

但是,在使用它的同时,我设法通过事件使一些功能起作用:*-完成*-退出完成

但是,然后我无法使它在幻灯片的滑入/滑出过渡中工作。

这让我感到困惑,希望您能指出正确的方向。一些代码片段:App.js

  switch = () => 
  this.setState(prevState => (
    slide: !prevState.slide
  ));

  render() 
    return (
    <button type="button" onClick=this.switch> Click </button>

    <CSSTransition
      in=this.state.slide
      classNames='slide'
    >
       <div>
          <p>Text here</p>
       </div>
    </CSSTransition>
)

和我的App.css

.slide-transition-enter
opacity: 0;


.slide-transition-enter-active
  opacity: 1;
  transition: opacity 200ms;


.slide-transition-exit
  opacity: 1;


.slide-transition-exit-active
  opacity: 0;
  transition: opacity 200ms;

答案

您在CSS中使用了错误的类名,因此我对其进行了修复另外,您还应该增加代码中的超时,以使其更加流畅

.test
  transition: opacity 1000ms;


/* This fires as soon as the element enters the DOM */
.slide-enter
opacity: 0;


/* This is where we can add the transition*/
.slide-enter-active
  opacity: 1;



/* This fires as soon as the this.state.showList is false */
.slide-exit
  opacity: 1;

/* fires as element leaves the DOM*/
.slide-exit-active
  opacity: 0;


以上是关于CSSTransition过渡输入活动事件未按预期工作的主要内容,如果未能解决你的问题,请参考以下文章

Google 位置设置未按预期工作

TransitionGroup 和 CssTransition:未应用退出过渡

MySQL NOT IN 子查询未按预期工作

反应 onLoad img 事件未按预期工作

新的 SwiftUI/iOS 15.0 .animation 未按预期工作

文件输入未按预期工作