Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在react本机函数组件中通过索引删除数组元素并更新道具?_Javascript_React Native_Expo - Fatal编程技术网

Javascript 如何在react本机函数组件中通过索引删除数组元素并更新道具?

Javascript 如何在react本机函数组件中通过索引删除数组元素并更新道具?,javascript,react-native,expo,Javascript,React Native,Expo,今天,我尝试删除react本机组件中的一个数组,但不起作用,下面是mi代码: 让arr=buques 等待阵列拼接(索引,1) 等待挫折(arr) 控制台日志(buques) 警报('Buque eliminado')await仅在异步中有效,就像您可以做的那样 const removeItem = async () => { let arr = buques await arr.splice(index, 1) await setBuques(arr) console.

今天,我尝试删除react本机组件中的一个数组,但不起作用,下面是mi代码:

让arr=buques
等待阵列拼接(索引,1)
等待挫折(arr)
控制台日志(buques)

警报('Buque eliminado')
await仅在异步中有效,就像您可以做的那样

const removeItem = async () => {
  let arr = buques
  await arr.splice(index, 1)
  await setBuques(arr)
  console.log(buques)
  alert('Buque eliminado');
} 
要在视图上更新数组,需要更改数组数据的ref,如

removearray = (index)=>{
        let arr = [...this.state.tags]; <-- This is trick -->
        arr.splice(index, 1)
        this.setState({tags: arr})
}
removearray=(索引)=>{
让arr=[…this.state.tags];
阵列拼接(索引,1)
this.setState({tags:arr})
}

await仅在async中有效,就像您可以做的那样

const removeItem = async () => {
  let arr = buques
  await arr.splice(index, 1)
  await setBuques(arr)
  console.log(buques)
  alert('Buque eliminado');
} 
要在视图上更新数组,需要更改数组数据的ref,如

removearray = (index)=>{
        let arr = [...this.state.tags]; <-- This is trick -->
        arr.splice(index, 1)
        this.setState({tags: arr})
}
removearray=(索引)=>{
让arr=[…this.state.tags];
阵列拼接(索引,1)
this.setState({tags:arr})
}

这是由易变性引起的

Mutable是一种可以更改的变量类型。在JavaScript中,只有 对象和数组是可变的,而不是基本值

您需要将其更改为:

wait setBuques(wait buques.filter((el,i)=>(i==index)))
控制台日志(buques)

这是由易变性引起的

Mutable是一种可以更改的变量类型。在JavaScript中,只有 对象和数组是可变的,而不是基本值

您需要将其更改为:

wait setBuques(wait buques.filter((el,i)=>(i==index)))
控制台日志(buques)

在这种情况下,我的值是object@Gario3是的,您可以像我一样使用新的值赋值,而不是对象上的原型函数,如splice、push或任何其他函数object@Gario3是的,您可以像我一样使用新的值赋值,而不是对象上的原型函数,如splice、push或任何其他函数。