Как установить поле состояния в массиве.
Ниже мой код:
constructor() {
super();
arrayCheck: [
isCheck = false
]
}
Я хочу получить isCheck
и затем установить состояние в true. Как я могу установить это?
Ниже моя функция setState
onCheckBoxChange(isCheck, index, item) {
this.setState({........});
}
2 ответа
Если вы действительно хотите обновить переменную состояния, используя массив, вы можете попробовать это. Во-первых, вам нужен массив объектов в переменной состояния и обновите его следующим образом
constructor () {
super();
this.state = {
arrayCheck: [
{ isCheck : false }
]
}
}
Затем обновите его значение следующим образом
onCheckBoxChange(isCheck, index, item) {
let arrayCheck = [...this.state.arrayCheck]
arrayCheck[0].isCheck = true
this.setState({
arrayCheck
})
}
Сначала вам нужно arrayCheck
чтобы попасть в объект state
:
this.state = {
arrayCheck = [...]
}
Во-вторых, я бы предложил использовать объект, а не массив. В массиве вы можете получить доступ только к индексу, который содержит значение. С объектом вы можете сделать что-то вроде:
constructor () {
super();
this.state = {
objectChecks: { // my also just set isCheck on the state
isCheck: false
}
}
}
И тогда, когда вы хотите изменить это:
this.setState({objectChecks: {isCheck: true}})
Надеюсь, это поможет
Похожие вопросы
Новые вопросы
reactjs
React - это библиотека JavaScript для создания пользовательских интерфейсов. Он использует декларативную компонентную парадигму и стремится быть одновременно эффективным и гибким.