diff --git a/src/slider.js b/src/slider.js index 65d63a4b5..b2e156edc 100644 --- a/src/slider.js +++ b/src/slider.js @@ -171,9 +171,10 @@ export default class Slider extends React.Component { currentWidth = children[k].props.style.width; } if (k >= children.length) break; + const defaultChildKey = 100 * i + 10 * j + k; row.push( React.cloneElement(children[k], { - key: 100 * i + 10 * j + k, + key: children[k].key || defaultChildKey, tabIndex: -1, style: { width: `${100 / settings.slidesPerRow}%`, @@ -182,16 +183,19 @@ export default class Slider extends React.Component { }) ); } - newSlide.push(
{row}
); + newSlide.push( +
child.key).join("")}>{row}
+ ); } + const key = newSlide.map(row => row.key).join(""); if (settings.variableWidth) { newChildren.push( -
+
{newSlide}
); } else { - newChildren.push(
{newSlide}
); + newChildren.push(
{newSlide}
); } }