Это, конечно, a правильный путь, да, и я бы сказал, что сегодня это, вероятно, идиоматический путь. Вы делаете обе важные вещи:
- Вы используете версию обратного вызова
setState
и
- Вы создаете новый массив, а не модифицируете существующее состояние on.
Отлично!
Вы также можете использовать concat
вместо распространения:
this.setState(prevState => ({
this.state.activeItemList: prevState.activeItemList.concat(newItem)
}))
но, опять же, ваш путь, вероятно, является идиоматическим путем в современном мире. Кроме того, если бы newItem
был массивом (например, activeItemList
предназначался как массив массивов), concat
расширил бы его, что не было бы хорошо.