"use client";
import React, { useState, useEffect } from "react";
const stringsDefault = [
"your business.",
"your portfolio.",
"your startup.",
"digital marketing.",
];
const AnimatedText = ({ strings = stringsDefault }) => {
// 过滤掉空字符串
const filteredStrings = strings.filter(str => !!str && str.trim() !== "");
const [currentIndex, setCurrentIndex] = useState(0);
const [animatedText, setAnimatedText] = useState(true);
useEffect(() => {
if (filteredStrings.length === 0) return;
const interval = setInterval(() => {
setAnimatedText(false);
setTimeout(() => {
setAnimatedText(true);
}, 200);
setCurrentIndex((prevIndex) => (prevIndex + 1) % filteredStrings.length);
}, 5000);
return () => clearInterval(interval); // Cleanup interval on component unmount
}, [filteredStrings]);
if (filteredStrings.length === 0) return null;
return (
<>
{animatedText ? (
{filteredStrings[currentIndex]}
) : (
{filteredStrings[currentIndex]}
)}
>
);
};
export default AnimatedText;