Vant Swipe轮播图在React中不自动播放怎么办?
我在用 Vant 的 Swipe 组件做轮播图,设置了 autoplay 但根本没生效,图片就是不动。我明明照文档写了啊,是不是哪里漏了?
试过把 autoplay 设成 3000、true 都不行,控制台也没报错,就是静止不动。下面是关键代码:
import { Swipe, SwipeItem } from 'vant';
function Banner() {
return (
<Swipe autoplay={3000} style={{ height: '160px' }}>
<SwipeItem><img src="/img1.jpg" alt="" /></SwipeItem>
<SwipeItem><img src="/img2.jpg" alt="" /></SwipeItem>
</Swipe>
);
}
useEffect来确保组件挂载后才初始化自动播放。试试这样改写:
另外要注意,如果你在开发环境下使用的是 devServer,有时静态资源路径可能会有问题。建议检查下图片路径是否正确加载。如果还是不行,看看控制台的 network 请求,确认图片确实被正确请求到。
最后提醒下,有些版本的 Vant 可能对 React 支持不太完善,考虑升级到最新版本看看效果。这问题折腾起来挺烦人的,我都遇到过好几次了。