diff --git a/src/pages/freshman/join.astro b/src/pages/freshman/join.astro index 665c32f..acc38dc 100644 --- a/src/pages/freshman/join.astro +++ b/src/pages/freshman/join.astro @@ -1,13 +1,16 @@ --- import BaseLayout from "../../layouts/BaseLayout.astro" import ReactChild from "./react/join.tsx" +import DelayImage from "./react/delayImage" import logo from "./_assets/nbtca.gif"; ---
- +
+ +
加入计算机协会 diff --git a/src/pages/freshman/react/delayImage.tsx b/src/pages/freshman/react/delayImage.tsx new file mode 100644 index 0000000..e811479 --- /dev/null +++ b/src/pages/freshman/react/delayImage.tsx @@ -0,0 +1,25 @@ +import React, { useState, useEffect } from "react" + +interface DelayImageProps { + src: string + alt: string + delay: number // delay in milliseconds +} + +const DelayImage: React.FC = ({ src, alt, delay }) => { + const [loaded, setLoaded] = useState(false) + + useEffect(() => { + const timer = setTimeout(() => { + setLoaded(true) + }, delay) + + return () => clearTimeout(timer) + }, [delay]) + + return ( +
{loaded ? {alt} :

Loading image...

}
+ ) +} + +export default DelayImage