首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nextjs + react-transition-group不动画

Nextjs + react-transition-group不动画
EN

Stack Overflow用户
提问于 2020-03-24 17:29:57
回答 2查看 2.7K关注 0票数 2

我遇到了nextjs + react-animation-group的麻烦,我不得不按照文档来实现,但不起作用,我需要在2.5秒内将一个组件从不透明度0动画到1。下面是我的测试:

https://codesandbox.io/s/transition-group-u5htd

你可以看到“动画div”立即出现,而不是不透明的过渡,有什么想法如何解决?

Thx全部

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-15 16:17:02

试试这个:-

pages/_app.js

代码语言:javascript
复制
export default function MyApp({ Component, pageProps, router }) {
  return (
    <SwitchTransition mode='out-in'>
      <CSSTransition key={router.pathname} classNames='page' timeout={300}>
        <Component {...pageProps} />
      </CSSTransition>
    </SwitchTransition>
  );
}

global.css

代码语言:javascript
复制
.page-enter {
  opacity: 0;
  transform: scale(1.1);
}
.page-enter-active {
  opacity: 1;
  transform: scale(1);
  transition: opacity 300ms, transform 300ms;
}
.page-exit {
  opacity: 1;
  transform: scale(1);
}

.page-exit-active {
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 300ms, transform 300ms;
}```
票数 2
EN

Stack Overflow用户

发布于 2020-03-24 18:46:24

您需要在CSSTransition标签上添加appear={true},并为显示活动添加css。我认为与其在<style jsx global>标签中编写css,不如定义一个新的css文件并导入它。

代码语言:javascript
复制
.div-appear {
  opacity: 0.01;
}
.div-appear-active {
  opacity: 1;
  transition: all 10000ms ease-out;
}

你可以在这里查看CodeSandBox,希望它能帮助你:)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60828223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档