diff --git a/src/ReactCardFlip.tsx b/src/ReactCardFlip.tsx index 4139611..d574cef 100644 --- a/src/ReactCardFlip.tsx +++ b/src/ReactCardFlip.tsx @@ -16,17 +16,31 @@ const ReactCardFlip: React.FC = (props) => { flipSpeedFrontToBack, flipSpeedBackToFront, infinite, - } = props; - - const [isFlipped, setFlipped] = useState(props.isFlipped); + isFlipped, + } = { + cardStyles: { + back: {}, + front: {}, + }, + cardZIndex: 'auto', + containerStyle: {}, + flipDirection: 'horizontal', + flipSpeedBackToFront: 0.6, + flipSpeedFrontToBack: 0.6, + infinite: false, + isFlipped: false, + ...props + } + + const [isFlippedState, setFlipped] = useState(isFlipped); const [rotation, setRotation] = useState(0); useEffect(() => { - if (props.isFlipped !== isFlipped) { - setFlipped(props.isFlipped); + if (isFlipped !== isFlippedState) { + setFlipped(isFlipped); setRotation((c) => c + 180); } - }, [props.isFlipped]); + }, [isFlipped]); const getContainerClassName = useMemo(() => { let className = 'react-card-flip'; @@ -115,18 +129,4 @@ const ReactCardFlip: React.FC = (props) => { ); }; -ReactCardFlip.defaultProps = { - cardStyles: { - back: {}, - front: {}, - }, - cardZIndex: 'auto', - containerStyle: {}, - flipDirection: 'horizontal', - flipSpeedBackToFront: 0.6, - flipSpeedFrontToBack: 0.6, - infinite: false, - isFlipped: false, -}; - export default ReactCardFlip;