diff --git a/__tests__/regression/fix-1813.test.js b/__tests__/regression/fix-1813.test.js
index 456a51081..0f93c6025 100644
--- a/__tests__/regression/fix-1813.test.js
+++ b/__tests__/regression/fix-1813.test.js
@@ -12,7 +12,6 @@ import {
getButtons,
getButtonsLength,
getClonesCount,
- getCurrentSlide,
getSlidesCount
} from "../../test-utils";
import { GenericSliderComponent } from "../TestComponents";
@@ -28,6 +27,16 @@ function MultipleItems() {
return ;
}
+function SingleItem() {
+ const settings = {
+ dots: true,
+ infinite: true,
+ speed: 500,
+ slidesToShow: 1
+ };
+ return ;
+}
+
describe("Multiple Items with slidesToShow = slides count in infinite mode", function () {
it("should have 9 actual slides and (9(pre) + 9(post)) clone slides", function () {
//Todo: Need to fix extra clones
@@ -35,6 +44,12 @@ describe("Multiple Items with slidesToShow = slides count in infinite mode", fun
expect(getSlidesCount(container)).toEqual(27);
expect(getClonesCount(container)).toEqual(18);
});
+ // https://github.com/akiran/react-slick/issues/2359
+ it("should not have cloned slide", function () {
+ const { container } = render();
+ expect(getSlidesCount(container)).toEqual(1);
+ expect(getClonesCount(container)).toEqual(0);
+ });
it("should have 9 active slides", function () {
const { container } = render();
expect(getActiveSlidesCount(container)).toEqual(9);
diff --git a/src/track.js b/src/track.js
index f291a135c..5f5cd130b 100644
--- a/src/track.js
+++ b/src/track.js
@@ -136,7 +136,12 @@ const renderSlides = (spec) => {
);
// if slide needs to be precloned or postcloned
- if (spec.infinite && spec.fade === false && !spec.unslick) {
+ if (
+ spec.infinite &&
+ childrenCount > 1 &&
+ spec.fade === false &&
+ !spec.unslick
+ ) {
let preCloneNo = childrenCount - index;
if (preCloneNo <= getPreClones(spec)) {
key = -preCloneNo;