How do I interpret the following error?
TypeError: Cannot read property 'style' of undefined
import React from 'react';
import PropTypes from 'prop-types';
import {VelocityComponent} from 'velocity-react';
import 'velocity-animate/velocity.ui';
const FuseAnimate = (props) => {
const children = React.cloneElement(props.children, {
style: { // this line throws the error
...props.children.style,
visibility: 'hidden'
}
});
return (
<VelocityComponent {...props} children={children}/>
)
};
FuseAnimate.propTypes = {
children: PropTypes.element.isRequired
};
FuseAnimate.defaultProps = {
animation : 'transition.fadeIn',
runOnMount : true,
targetQuerySelector: null,
interruptBehavior : 'stop',
visibility : 'visible',
duration : 300,
delay : 50,
easing : [0.4, 0.0, 0.2, 1],
display : null
};
export default FuseAnimate;
How do I interpret the following error?
TypeError: Cannot read property 'style' of undefined
import React from 'react';
import PropTypes from 'prop-types';
import {VelocityComponent} from 'velocity-react';
import 'velocity-animate/velocity.ui';
const FuseAnimate = (props) => {
const children = React.cloneElement(props.children, {
style: { // this line throws the error
...props.children.style,
visibility: 'hidden'
}
});
return (
<VelocityComponent {...props} children={children}/>
)
};
FuseAnimate.propTypes = {
children: PropTypes.element.isRequired
};
FuseAnimate.defaultProps = {
animation : 'transition.fadeIn',
runOnMount : true,
targetQuerySelector: null,
interruptBehavior : 'stop',
visibility : 'visible',
duration : 300,
delay : 50,
easing : [0.4, 0.0, 0.2, 1],
display : null
};
export default FuseAnimate;
Share
Improve this question
edited Nov 4, 2018 at 8:02
Let Me Tink About It
asked Nov 3, 2018 at 20:38
Let Me Tink About ItLet Me Tink About It
16.2k21 gold badges108 silver badges218 bronze badges
1 Answer
Reset to default 4I believe ...props.children.style
is the source of your error. If you're doing something like...
render() {
<FuseAnimate /> // no children
}
then props.children
will be undefined.