如何在React Native中设置状态数组

时间:2019-05-28 06:23:53

标签: reactjs react-native

如何在数组中设置状态字段。

下面是我的代码:

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

我想获取isCheck,然后将state设置为true。 我该如何设置?

下面是我的函数setState

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

2 个答案:

答案 0 :(得分:0)

首先,您需要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}})

希望有帮助

答案 1 :(得分:0)

如果您真的想使用数组更新状态变量,可以尝试一下。 首先,您需要在状态变量中包含一个对象数组,并像这样更新它

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

然后像这样更新其值

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