如何在使用 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>
)}```

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

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/97514.html

大家都在问