微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在使用 setInterval() 方法更改组件背景的同时在 React 中添加过渡

如何解决如何在使用 setInterval() 方法更改组件背景的同时在 React 中添加过渡

我为一家医院创建了一个登陆页面,我制作了一个标题标签,并使用 setInterval 方法通过 useEffect 钩子每 6 秒更改一次背景图像。如何动画背景图像的过渡?

import Image from 'next/image'
import { useEffect,useState } from 'react'



export default function LandingPage() {
let i = 0;
const [imagepath,setimagePath] = useState("url('/slides/slide3.jpg')")
const slides = [
  "url('/slides/slide1.jpg')","url('/slides/slide2.jpg')","url('/slides/slide3.jpg')"
]

const changeImage = () =>{
  setimagePath(slides[i]);
  console.log(i)
  i++;
  if (i > 2 ) i = 0 ;
  }

useEffect(() => {
  const interval = setInterval(() => {
    changeImage();
  },6000);
  return () => clearInterval(interval);
},[]);

return (
<header style={{backgroundImage :`linear-gradient(rgba(0,0.7),rgba(0,0.7)),${imagepath}`,transition : 'backgroundImage ease-in 500ms'}}>
        <nav className={styles.row}>
          <div className={styles.logo}>
            <Image  
                  src='/logoGH.jpg' 
                  alt="GH logo" 
                  width='80'
                  height='80'
                  /> 
          </div>
          <ul className={styles.main_nav}>
            <li><a>Home</a></li>
            <li><a>About Us</a></li>
            <li><a>Departments</a></li>
            <li><a>Our Doctors</a></li>
            <li><a>Corporates and TPA</a></li>
            <li><a>Contact Us</a></li>
        </ul>
      </nav>
      </header>
)}```

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。