Вы пытаетесь использовать состояние для повторного рендеринга css в DOM для информации, которая уже имеется в DOM. Вы должны использовать хитрость в предоставлении нового css при каждом рендере, , но один css ничего не менять на визуальном только имя класса в DOM.
Вы можете найти код здесь: https://codesandbox.io/s/optimistic-tharp-j4px4?fontsize=14&hidenavigation=1&theme=dark
export default class App extends React.Component {
constructor(props) {
super(props);
this.state = {
in: 0,
enableWave: true
};
}
componentDidMount() {
setInterval(() => {
this.setState(prevState => {
if (prevState.in % 2 === 0) {
return {
in: prevState.in + 1,
enableWave: false
};
} else {
return {
in: prevState.in + 1,
enableWave: true
};
}
});
}, 1500);
}
render() {
return (
<div>
<div style={{ display: this.state.enableWave ? "block" : "none" }}>
<div className="wave wave5" />
<div className="wave wave4" />
<div className="wave wave3" />
<div className="wave wave2" />
<div className="wave wave1" />
<div className="wave wave0" />
</div>
</div>
);
}
}