光滑的滑块在 reactjs 中多次渲染幻灯片
Slick slider render slide multiple times in reactjs
我正在使用 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;
我做错了什么?
这不是一个错误,它是一个功能,可以在最后一个项目和下一个第一个项目中获得最佳动画效果!。
这就是灵活的滑块无限循环的工作原理。
如果 slider 只会克隆 images/divs ,它最终会出现性能问题。
现在,如果你真的不想克隆 images/div 那么你需要设置
infinite: false
或
infinite: sliderItem.length > 3 // may be best solution
我正在使用 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;
我做错了什么?
这不是一个错误,它是一个功能,可以在最后一个项目和下一个第一个项目中获得最佳动画效果!。 这就是灵活的滑块无限循环的工作原理。 如果 slider 只会克隆 images/divs ,它最终会出现性能问题。 现在,如果你真的不想克隆 images/div 那么你需要设置
infinite: false
或
infinite: sliderItem.length > 3 // may be best solution