Имея следующий код,
this.state = {
valores: ['A', 'B', 'C']
}
Как я могу обновить элемент этого массива? Типа:
this.setState({
valores[1]: 'a'
})
Имея следующий код,
this.state = {
valores: ['A', 'B', 'C']
}
Как я могу обновить элемент этого массива? Типа:
this.setState({
valores[1]: 'a'
})
Я рекомендую не изменять объект состояния напрямую, вместо этого назначать его переменной и переназначать.
Здесь вы можете прочитать некоторые причины, по которым вам не следует мутировать напрямую https://daveceddia.com/why-not-modify-react-state-directly/
Вы также можете использовать https://github.com/kolodny/immutability-helper
Ни в коем случае не рекомендуется использовать вспомогательные переменные, так как в компонентах, которые обрабатывают более сложное состояние, становится неуправляемым мутировать состояние таким образом, для этого React предоставляет хелперы, которые помогают вам мутировать состояние, когда его структура становится более сложной.
https://facebook.github.io/react/docs/update.html
Так, например, если предположить, что ваш компонент обрабатывает больше переменных в состоянии, кроме «значений», с использованием React Inmutability Helpers, реализация будет следующей (ES6)
Таким образом, вы обновляете только массив 'values' и оставляете остальную структуру состояния нетронутой без необходимости делать ненужные копии или использовать вспомогательные переменные.