当前位置: 首页 > 知识库问答 >
问题:

Reactjs阵列突变

谈渊
2023-03-14

我有这个功能:

setNotActiveWalletsList = () => {
   
    const { GetAccounts } = this.props;
    let shallowCopyOfWalletsArray = [...GetAccounts]  
    const notActive = shallowCopyOfWalletsArray.filter(user => user.active !== true);


    let newArr = notActive.map(item => {

      return decryptAccountInformation(item).then(result => {
          !result.address ? null : item.address = result.address
      })
   
    });

    this.setState({ onlyNotActive: newArr });
  }

GetAccounts是一个对象数组

问题是,我的一个同事告诉我,我正在用这行字修改数组

 !result.address ? null : item.address = result.address

但我真的不明白为什么这被认为是突变?我确信我创建了原始数组的副本并对其进行了修改。

有什么建议如何解决这个问题,请?

共有1个答案

宦正诚
2023-03-14

扩展运算符...不会对数组进行深度克隆。创建GetAccounts的浅层副本时,对象的引用不会发生更改

 类似资料:
  • 问题内容: 我想知道从ArrayList转换为Array是否安全/建议?我有一个文本文件,每行一个字符串: 我想将它们读入数组列表,然后将其转换为数组。建议这样做/合法吗? 谢谢 问题答案: 是的,将转换为是安全的。一个好主意取决于您的预期用途。您需要提供的操作吗?如果是这样,请将其保留为。否则转换掉! 输出

  • 问题内容: 我正在尝试突出显示与查询匹配的文本,但是我不知道如何使标记显示为HTML而不是文本。 当前输出: Java 脚本 所需的输出: Java 脚本 问题答案: 这是我简单的twoliner辅助方法: 它返回一个跨度,其中所请求的零件以标签突出显示。如果需要,可以简单地将其修改为使用其他标签。 更新: 为避免唯一键丢失警告,这是一个基于跨度并为匹配的零件设置fontWeight样式的解决方案

  • 所以,我正在尝试匹配 2 个不同的数组。如果相同的单元格匹配,我想使用 .slice 方法从一个数组中删除该单元格。 编辑:我想做的是从数组1中移除一个数字,如果数组2包含一个匹配的数字。代码现在的工作方式是只删除1个条目。我要删除第一个数组中的所有条目。 我尝试运行这个,在控制台日志下,array1没有变化。似乎拼接方法没有删除任何单元格。我搜索了SE,但没有找到任何可以帮助我的东西。

  • 本章将解释数组的Firebase表示。 我们将使用前一章中的相同数据。 我们可以通过将以下JSON树发送到播放器的集合来创建此数据。 ['john', 'amanda'] 这是因为Firebase不直接支持Arrays,但它会创建一个以整数作为键名的对象列表。 不使用数组的原因是Firebase充当实时数据库,如果有几个用户同时操作数组,结果可能会有问题,因为数组索引不断变化。 Firebase

  • 我们已经讨论过汇编程序的数据定义指令用于为变量分配存储空间。 变量也可以用一些特定值初始化。 初始化值可以以十六进制,十进制或二进制形式指定。 例如,我们可以通过以下任一方式定义单词变量'months' - MONTHS DW 12 MONTHS DW 0CH MONTHS DW 0110B 数据定义指令也可用于定义一维数组。 让我们定义一维数字数组。 NUMBERS DW 34, 45,

  • 考虑我们需要存储五个整数的情况。 如果我们使用编程的简单变量和数据类型概念,那么我们需要五个int数据类型的变量,程序将如下 - #include <stdio.h> int main() { int number1; int number2; int number3; int number4; int number5; number1 = 10;