当前位置: 首页 > 面试题库 >

在状态数组中添加值的最佳方法是什么

陈浩
2023-03-14
问题内容

我有一个状态数组,比方说this.state.arr。我想向此状态属性添加一些内容,然后更改更多属性。

选项1

onChange(event){
    this.state.arr.push('newvalue');
    ...
    this.setState({some:'val',arr:this.state.arr})
}

选项2

onChange(event){
    var newArr = this.state.arr;
    ...
    newArr.push('newvalue');
    ...
    this.setState({some:'val',arr:newArr})
}

所以..我知道this.state应该被视为不可变的。但是可以像在选项1中那样使用它还是可以通过它设置状态,还是可以像在选项2中那样使用它,这样总是总是首先在内存中进行复制


问题答案:

使用concat的另一种简单方法:

this.setState({
  arr: this.state.arr.concat('new value')
})


 类似资料:
  • 有时,在服务器级别,我会返回一些额外的信息以及 例如,它不会只返回一个,这可能会让我的客户困惑路由是否正确,它还会收到类似的消息 标识符“abc”未知 我通常将内容类型设置为,并在 另一种选择是设置。 哪种方式/惯例最好?设置或设置?

  • 问题内容: 如果您将数组作为状态的一部分,并且该数组包含对象,那么通过更改其中一个对象来更新状态的简便方法是什么? 示例,从关于react的教程中修改而来: 问题答案: 在更新状态时,关键部分是将其视为不变。如果可以保证,任何解决方案都可以。 这是我使用immutability-helper的解决方案: jsFiddle:

  • 问题内容: 我目前在tensorflow中具有一系列链接在一​​起的RNN的以下代码。我不使用MultiRNN,因为稍后我将对每个图层的输出进行处理。 目前,我有固定的时间步数。但是,我想将其更改为只有一个时间步长,但要记住批次之间的状态。因此,我需要为每个层创建一个状态变量,并将其分配给每个层的最终状态。这样的事情。 然后,对于每一层,我都需要评估sess.run函数中的保存状态以及调用训练函数

  • 问题内容: 我通过定义如下的ENUM来验证从数据库中检索到的记录的状态 方法isSuccess()用于检查检索到的记录的状态(员工的列状态) 根据新的要求,引入了一组条件,例如A,B和C。对于他们,在Employee表“ condition”中有一列。 因此,我需要检索状态以及条件,并查看它是否属于具有两者组合的集合。 例如:isSuccess()应该检查以下内容: 必须做到这一点,以使我很容易在

  • 问题内容: 这对我来说是一个耻辱,但我不知道: 您应该使用克隆来复制阵列,因为通常这是最快的方法。 如Josh Bloch在此博客中所述:http : //www.artima.com/intv/bloch13.html 我一直都习惯。两种方法都是本机的,所以可能没有深入研究我不知道的库来源,为什么会这样。 我的问题很简单:为什么这是 最快的 方法? 有什么区别 ? 此处 说明了差异,但未回答为何

  • 我有一个使用许多复选框的javafx应用程序。选中复选框后,主窗口中将显示一个按钮。复选框设置为“false”将使按钮消失。很简单。 问题是复选框不记得它已被选中,并且应用程序总是以所选复选框开始,如fxml文件中定义的: 由于我在谷歌上找不到任何令人满意的东西,我想出了一个本土的解决方案,设置了一个函数,直接在fxml文档中将复选框的选定状态设置为“真”或“假”,效果非常好。 我只是想知道这是否