【问题标题】:slice() method is not working inside react class based componentslice() 方法在基于反应类的组件中不起作用
【发布时间】:2020-12-27 11:27:29
【问题描述】:

我遇到了一个错误,我不能在 react 中使用 javascript 的 .slice() 方法,基本上我在基于类的组件中的函数内部调用 slice() 方法,而我放置切片的函数是传递到子组件的 2 级并从那里触发 onClick 事件,但问题是 slice 方法没有完成删除元素的工作,它只是控制同一个数组,这里我以简单的概念向您展示代码,

useSlice = () => {
  let arr = ['a', 'b', 'c'];
  console.log(arr.slice(1, 1));
}

useSlice()

此代码在控制台中打印相同的数组值,而不是显示修改后的数组。 怎么办???

【问题讨论】:

  • 发布你的整个代码。
  • 信息难以调试,请贴相关代码
  • 请阅读文档

标签: javascript arrays reactjs ecmascript-6 slice


【解决方案1】:

您应该阅读更多关于拼接工作原理的详细信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice

slice 中的第二个参数是结束索引(不包括)。所以,如果你 arr.slice(1,1): 表示从索引 1 到索引 1 之前的切片将始终返回空数组。

顺便说一句,如果你想删除元素。您应该改用“拼接”。

【讨论】:

    【解决方案2】:

    arr.slice(1,1) 返回[],这是应该的。您从元素 1 开始并在元素 1 结束,这是零元素。这实际上是 1-0 的范围,这是你做不到的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-06
      • 2020-02-05
      • 2020-10-23
      • 1970-01-01
      • 2021-02-02
      • 2021-06-27
      • 2018-08-31
      • 1970-01-01
      相关资源
      最近更新 更多