光滑的滑块在reactjs中多次渲染幻灯片

时间:2020-01-25 16:18:07

标签: reactjs loops slider slick.js

我正在使用reactjs创建光滑的滑块。滑块工作正常,但会多次渲染幻灯片。我正在使用地图功能循环播放幻灯片。

屏幕截图:

enter image description here

我的脚本:

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;

我在做什么错了?

1 个答案:

答案 0 :(得分:2)

这不是错误,它是一项功能,可以使动画的最佳表现与最后一项! 这就是光滑的滑块无限循环的工作方式。 如果滑块仅克隆图像/ div,则会导致性能问题。 现在,如果确实不想克隆图像/ div,则需要设置

infinite: false

infinite: sliderItem.length > 3 // may be best solution