В документации React говорится:
Относитесь к this.state как к неизменяемому.
Ваш pu sh будет напрямую изменять состояние, и это потенциально может привести к коду, подверженному ошибкам, даже если вы потом снова "сбрасываете" состояние. Например, это может привести к тому, что некоторые методы жизненного цикла, такие как componentDidUpdate, не сработают.
В более поздних версиях React рекомендуется использовать функцию обновления при изменении состояний для предотвращения состояний гонки:
this.setState({
arrayvar: [...this.state.arrayvar, newelement]
})