From ee9bf33eb1fc7529898c836e9e750c7ea11a9299 Mon Sep 17 00:00:00 2001 From: Flo Date: Mon, 8 Jul 2019 22:52:32 +0200 Subject: [PATCH] Pass down all props --- src/__tests__/index.spec.js | 6 ++++++ src/index.js | 12 ++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/__tests__/index.spec.js b/src/__tests__/index.spec.js index 74422c39..72f21b62 100644 --- a/src/__tests__/index.spec.js +++ b/src/__tests__/index.spec.js @@ -527,4 +527,10 @@ describe('Swipeable Specific', () => { expect(wrapper.instance().testRef).toBe(swipeableDiv) wrapper.unmount() }) + + it('passes down props', () => { + const wrapper = mount() + expect(wrapper.find('div').prop('data-testid')).toBe('custom-prop') + wrapper.unmount() + }) }) diff --git a/src/index.js b/src/index.js index 91d4dd17..fdf95288 100644 --- a/src/index.js +++ b/src/index.js @@ -240,10 +240,18 @@ export class Swipeable extends React.PureComponent { } render() { - const { className, style, nodeName = 'div', innerRef, children, trackMouse } = this.props + const { + className, + style, + nodeName = 'div', + innerRef, + children, + trackMouse, + ...rest + } = this.props const [handlers, attachTouch] = getHandlers(this._set, { trackMouse }) this.transientState = updateTransientState(this.transientState, this.props, attachTouch) const ref = innerRef ? el => (innerRef(el), handlers.ref(el)) : handlers.ref - return React.createElement(nodeName, { ...handlers, className, style, ref }, children) + return React.createElement(nodeName, { ...rest, ...handlers, className, style, ref }, children) } }