React immutability helper - 在数组中的索引处设置新值

Ľub*_*mír 2 javascript reactjs

有什么办法可以用React imutability helper在特定索引中设置数组的值吗?

例如这样的事情:

   const newState = update(this.state , {
        open[8]:{$set: false}
    })
    this.setState(newState);
Run Code Online (Sandbox Code Playgroud)

或者我是否必须使用JSON深度克隆该数组,然后在特定索引处设置新值,然后使用react imutability helper来更新状态?

Luc*_*cas 6

假设您的州具有以下格式:

{
  open: [
    true,
    false,
    true,
    ...
  ]
}
Run Code Online (Sandbox Code Playgroud)

我相信这应该有效:

const newState = update(this.state , {
  open: {
    8: {$set: false}
  }
})
Run Code Online (Sandbox Code Playgroud)