【发布时间】:2021-05-14 18:19:25
【问题描述】:
我正在尝试为我的作品集制作一个打字动画,我有一系列想要输入的单词,我试着让它每 5 秒左右更新一次单词。所以我设置了一个间隔来更新一个 useState 来更新将要显示的单词
const [displayTyped, setDisplayTyped] = useState("Developer");
const typedWords = ['Developer', 'Designer', 'Freelancer', 'Photographer'];
let currentWord = 0;
setInterval(() => {
setDisplayTyped(typedWords[currentWord])
if(currentWord < 3) {
currentWord++;
} else {
currentWord = 0;
};
}, 5000);
但是当我这样做时,它会更新两次并像开发人员一样停留,然后我等待的时间越长,它会像 6 次一样经历所有这些并立即更改它,我不知道是谁在这样做
当我console.log(currentWord) 它显示它发生了两次所以我认为 useState 正在重新加载页面并将单词设置为默认值
【问题讨论】: