我正在使用reactjs创建光滑的滑块。滑块工作正常,但会多次渲染幻灯片。我正在使用地图功能循环播放幻灯片。
屏幕截图:
我的脚本:
import React, {Component} from 'react';
import Slider from "react-slick";
import "slick-carousel/slick/slick.css";
import "slick-carousel/slick/slick-theme.css";
import '../css/Header.css';
//import SlideItem from './SlideItem';
class SliderSlick extends Component{
shouldComponentUpdate () {
// TODO: add proper implementation that compares objects
return false;
}
render() {
//Slide Items
var sliderItem = ['slider1.jpg','slider2.jpg','slider3.jpg'];
var settings = {
autoplay: false,
dots: true,
infinite: true,
slidesToShow: 1,
slidesToScroll: 1,
speed: 1000,
};
return (
<div className="container">
<Slider {...settings}>
{
sliderItem.map((item,index) => {
return (
<div data-index={index} key={index}>
<img src={process.env.PUBLIC_URL + '/images/'+item} alt="Continental GT 650" />
</div>
)
})
}
</Slider>
</div>
);
}
}
export default SliderSlick;
我在做什么错了?
答案 0 :(得分:2)
这不是错误,它是一项功能,可以使动画的最佳表现与最后一项! 这就是光滑的滑块无限循环的工作方式。 如果滑块仅克隆图像/ div,则会导致性能问题。 现在,如果确实不想克隆图像/ div,则需要设置
infinite: false
或
infinite: sliderItem.length > 3 // may be best solution