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? В идеале я хотел бы избежать помощников по неизменности и всего остального сумасшествия и сделать вещи простыми.