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

问题描述 投票:0回答:1

我正在使用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;

我在做什么错?

reactjs loops slider slick.js
1个回答
0
投票

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

infinite: false

infinite: sliderItem.length > 3 // may be best solution
© www.soinside.com 2019 - 2024. All rights reserved.