here my demo: https://stackblitz.com/edit/react-pwdkse note: use your browser console instead of the Stackblitz's one. Seems the browser console is much more complete in terms of information_feedback
I would trigger animation using ReactJS ref's references instead of changing className inside the element's scope. Currently nothing is happening. 
What I may missing?
here my Reacts' snippets:
component
import React, { Component } from 'react';
import { render } from 'react-dom'; 
import './style.module.css';
class App extends Component {
  constructor() {
    super();
    this.state = {
      name: 'React'
    };
     this.animateRef = React.createRef();
  //  this.triggerAnimation = this.triggerAnimation.bind(this);
  }
  componentDidMount(){ 
    // empty scope right now
  }
   triggerAnimation=()=>{ 
      console.log("trigger animateRef animation")
      //   this.animateRef.current.style.animationName="animateElement"
      //  this.animateRef.current.style.animation="1.5s 4.3s 3 alternate forwards"
       this.animateRef.current.className.concat(`animation_trigger`)
        console.log("animateRef: ", this.animateRef)
  }
  render() {
    return (
      <div>
        <p>
          Start editing to see some magic happen :)
        </p>
        <div className="animatedElementStyle" ref={this.animateRef}>
            I am rendered !
        </div>
        <button onClick={this.triggerAnimation}>
          trigger animation
        </button>
      </div>
    );
  }
}
render(<App />, document.getElementById('root'));
stylesheet
h1, p {
  font-family: Arial;
}
.animatedElementStyle{ 
    position:absolute;
    top:61%;
    left:10%;
    width:15w;
    height:25vh;
    visibility: hidden; 
    opacity:0;    
}
.animation_trigger{
    animation: animateElement 1.5s 0.5s 3 alternate forwards;
}
@keyframes animateElement{
    from{  
        opacity:0;
        visibility:hidden; 
    }
    100%{
        transform: translate(15%,0);
        opacity:1;
        visibility:visible;
        color:orange;
        font-size:3em;
    }
}
thanks for any hint
 
    