ReactJS: Почему я не должен изменять вложенное состояние?

Я прочитал документацию ReactJS оSetState, В частности, эта строка:

НИКОГДА не изменяйте this.state напрямую, поскольку последующий вызов setState () может заменить сделанную вами мутацию. Относитесь к этому состоянию как к неизменному.

Но в моем коде я делаю такие вещи:

var x = this.state.x;
x.y.z.push("foo"); // z is a list
this.setState({x:x});

Кажется, этот код работает и корректно обновляет состояние. Но согласно документации я нарушаю правила. В чем проблема с этим подходом? Есть ли проблемы с производительностью? Расовые условия? Буду ли меня ругать команда разработчиков Facebook? В идеале я хотел бы избежать помощников по неизменности и всего остального сумасшествия и сделать вещи простыми.

Ответы на вопрос(1)

Ваш ответ на вопрос