diff --git a/src/linkClass.js b/src/linkClass.js index e463b9d..1a05878 100644 --- a/src/linkClass.js +++ b/src/linkClass.js @@ -7,20 +7,6 @@ import isIterable from './isIterable'; import parseStyleName from './parseStyleName'; import generateAppendClassName from './generateAppendClassName'; -const mapChildrenWithoutKeyPrefix = (children: ReactElement, mapper: Function, context: Object) => { - if (typeof children === 'undefined' || children === null) { - return children; - } - - const result = []; - - React.Children.forEach(children, (child, index) => { - result.push(mapper.call(context, child, index)); - }); - - return result; -}; - const linkArray = (array: Array, styles: Object, configuration: Object) => { _.forEach(array, (value, index) => { if (React.isValidElement(value)) { @@ -55,7 +41,7 @@ const linkElement = (element: ReactElement, styles: Object, configuration: Objec if (React.isValidElement(children)) { elementShallowCopy.props.children = linkElement(React.Children.only(children), styles, configuration); } else if (_.isArray(children) || isIterable(children)) { - elementShallowCopy.props.children = mapChildrenWithoutKeyPrefix(children, (node) => { + elementShallowCopy.props.children = React.Children.map(children, (node) => { if (React.isValidElement(node)) { // eslint-disable-next-line no-use-before-define return linkElement(React.Children.only(node), styles, configuration); diff --git a/tests/linkClass.js b/tests/linkClass.js index 0e3cd06..0475563 100644 --- a/tests/linkClass.js +++ b/tests/linkClass.js @@ -351,20 +351,4 @@ describe('linkClass', () => { expect(subject.props.els[1][0].props.className).to.deep.equal('bar-1'); expect(subject.props.els[1][0].props).not.to.have.property('styleName'); }); - - it('does not change defined keys of children if there are multiple children', () => { - let subject; - - subject =
, ]}> - - - ; - - subject = linkClass(subject); - - expect(subject.props.children[0].key).to.equal('foo'); - expect(subject.props.children[1].key).to.equal('bar'); - expect(subject.props.els[0].key).to.equal('foo'); - expect(subject.props.els[1].key).to.equal('bar'); - }); });