Как установить массив в React Native

Как установить поле состояния в массиве.

Ниже мой код:

constructor() {
  super();
  arrayCheck: [
    isCheck = false
  ]
}

Я хочу получить isCheck, а затем установить состояние в true. Как я могу установить это?

Ниже моя функция setState

onCheckBoxChange(isCheck, index, item) {
  this.setState({........});
}

массивы не имеют пар ключ-значение, здесь вам нужен объект

Agney 28.05.2019 08:31

есть только одно значение? если да, то зачем поддерживать массив? его можно использовать как состояние напрямую. не нужно использовать как массив или объект

Harish 28.05.2019 08:36
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
2
354
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Сначала вам нужно 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}})

Надеюсь, поможет

Мне нужно получить доступ к isCheck по индексу.

Vichit Pov 28.05.2019 08:52
Ответ принят как подходящий

Если вы действительно хотите обновить переменную состояния с помощью массива, вы можете попробовать это. Во-первых, вам нужен массив объекта в переменной состояния и обновите его следующим образом.

constructor () {
super();
this.state = {
     arrayCheck: [
        { isCheck : false }
    ]
  }
}

затем обновите его значение следующим образом

onCheckBoxChange(isCheck, index, item) {
   let arrayCheck = [...this.state.arrayCheck]
   arrayCheck[0].isCheck = true
   this.setState({
     arrayCheck
   })
}

Другие вопросы по теме