Skip to content

Commit fe4b4e2

Browse files
committed
Update component to support cloning an existing element passed in as component and update tests to test it
1 parent 1b9e6b7 commit fe4b4e2

File tree

3 files changed

+233
-193
lines changed

3 files changed

+233
-193
lines changed

src/index.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,9 @@ class ScrollTrigger extends Component {
136136
component,
137137
} = this.props;
138138

139-
return React.createElement(component, {
139+
const elementMethod = React.isValidElement(component) ? 'cloneElement' : 'createElement';
140+
141+
return React[elementMethod](component, {
140142
...cleanProps(this.props, ['onProgress']),
141143
ref: (element) => {
142144
this.element = element;
@@ -148,7 +150,10 @@ class ScrollTrigger extends Component {
148150
}
149151

150152
ScrollTrigger.propTypes = {
151-
component: PropTypes.node,
153+
component: PropTypes.oneOfType([
154+
PropTypes.element,
155+
PropTypes.node,
156+
]),
152157
throttleResize: PropTypes.number,
153158
throttleScroll: PropTypes.number,
154159
triggerOnLoad: PropTypes.bool,

0 commit comments

Comments
 (0)