Ich verwende eine neue Bibliothek, um React Components, Styled-Components zu erstellen.Animation anwenden, um Komponente zu reaktivieren, während gestylte Komponenten verwendet werden
Ich möchte eine Animation Tremble auf meiner Komponente über ein OnClick anwenden.
So gibt es kein Style.css Blatt mit gestylt Komponenten, alle CSS wird über Javascript angewendet.
Exportklasse Form erstreckt React.Component {// eslint-disable-line reagieren/bevorzugen-stateless-Funktion
static propTypes = {
children: React.PropTypes.node.isRequired,
className: React.PropTypes.string
};
//
static defaultProps = {
isTrembling: true
};
render() {
return (
<form className={this.props.className}>
{React.Children.toArray(this.props.children)}
</form>
);
}
}
// eslint-disable-next-line no-class-assign
Form = styled(Form)`
max-width: 800px;
margin:0 auto;
display: block;
height: 100%;
border: 1px solid grey;
& h2{
text-align:center;
};
`;
export default Form;
Und ich habe eine Komponente Tremble auch: Form hat bereits eine CSS angewendet:
const shake = Keyframes` 10%, 90% { transform: translate3d (-1px, 0, 0); }
20%, 80% {
transform: translate3d(2px, 0, 0);
}
30%, 50%, 70% {
transform: translate3d(-4px, 0, 0);
}
40%, 60% {
transform: translate3d(4px, 0, 0);
}
`;
const Tremble = styled.div`
display: inline-block;
&:hover {
animation: ${shake} 0.82s cubic-bezier(.36,.07,.19,.97) both;
transform: translate3d(0, 0, 0);
backface-visibility: hidden;
perspective: 1000px;
}
`;
export default Tremble;
Jeder Hinweis, wie dies funktionieren kann?