Nextjs + react-transition-group 没有动画

Nextjs + react-transition-group don't animate

我在使用 nextjs + react-animation-group 时遇到了麻烦,我已经按照文档进行实施但不起作用,我需要在 2.5 秒内将不透明度从 0 变为 1 的组件进行动画处理。这是我的测试:

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

你可以看到 "Animation div" 立即出现而不是不透明过渡,有什么解决办法吗?

谢谢大家

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

.div-appear {
  opacity: 0.01;
}
.div-appear-active {
  opacity: 1;
  transition: all 10000ms ease-out;
}

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

试试这个:-

pages/_app.js

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

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