【发布时间】:2022-01-26 22:43:41
【问题描述】:
我正在构建一个函数,使随机汽车的图像在屏幕上显示动画,并且我想用 setTimeout 错开“carsLeft”数组的人口......(我最终将随机化延迟时间)。
在我尝试使用 setTimeout 之前一切正常。使用下面的代码,没有显示任何汽车。 Console.log 显示“carsLeft”数组未填充。当我删除 setTimeout 时,会显示所有汽车(当然是一次)。我已经尝试过 IIDE 仍然没有运气。卡在这个上面一段时间了,请帮忙!
function Traffic() {
let carsLeft: any = [];
const generateCarLeft = () => {
for (let i = 0; i < 5; i++) {
setTimeout(() => {
carsLeft.push(
<CarLeft key={i} className="car__left">
<img
src={carListDay[Math.floor(Math.random() * carListDay.length)]}
alt=""
/>
</CarLeft>
);
}, 3000);
}
};
generateCarLeft();
return <div className="traffic__container">{carsLeft}</div>;
}
export default Traffic;
【问题讨论】:
标签: reactjs typescript for-loop settimeout