如何在不使用useState更改React native中位置的情况下更新数组元素的值?

罗伯托·约里奥(Roberto Yorio)

如何在useState不修改数组位置的情况下使用更改数组的特定值例如:如果我不使用useState,我可以像这样修改数组:checkBox[2] = true我试过了,setCheckBox[2](true)但是确实可以。

谁能帮我解决这个问题。

const [checkBox, setCheckBox] = useState(
   [true, false, false, false, false, false, false, false]
);

如何在不更改位置的情况下将该数组的索引2中的值更改为true?

优素福

setCheckBox[2](true)-这setCheckBox不起作用的,因为它是一个函数,而不是数组或对象文字。setCheckBox[2]在这里使用错误的语法。

您需要避免直接更改数组。这样做不会触发组件的重新渲染。

若要正确更新状态,您可以使用.map()方法来转换checkBox数组的值.map()方法将返回一个新数组,其中包含转换后的值。

// if index is equal to 2, return true, otherwise return the value as it is
const updatedArr = checkBox.map((val, idx) => idx === 2 ? true : val);
// pass the new array to state updater function
setCheckbBox(updatedArr);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

React useState setter 如何在不使用状态变量的情况下更新此状态变量?

如何在不使用内置函数的情况下从python中的数组中删除元素

如何在不使用for循环的情况下从数组列表中删除元素

如何在不使用 Java 索引的情况下从 Arraylist 中删除数组元素

如何在不使用 axios 的情况下访问数组中的多个元素

如何在给定 MongoDB 中的元素位置的情况下提取数组的切片?

如何在React Native中不使用任何API调用的情况下重新渲染组件?

PHP:如何在不使用数组的情况下从MySQL中的单行中选择单个值

C ++如何在不使用向量的情况下从数组中删除0个值

如何在不使用jQuery更改html的情况下更改元素的同级文本?

如何在不使用代理的情况下更改IP?

是否可以在不更改光标位置的情况下更新 Ace Editor 中的值?

在不使用键的情况下更改 PHP 数组的值

如何在不删除/更改原始元素及其值的情况下将列表/数组中元素的索引更改为另一个位置/索引

如何在不发生突变的情况下更新状态数组中的现有值?

如何在不使用for循环或任何数组方法的情况下检查数组中是否存在元素

如何在不使用熊猫的情况下更改列的位置

PL / SQL如何在不使用循环的情况下更改集合元素

如何在不使用媒体查询的情况下更改元素的宽度?

如何在不使用JS中任何ID的情况下按类名更改元素的样式属性?

如何在不使用展开的情况下使用 mongodb 中的数组元素对数据进行排序

数组对象数组,如何在不使用属性名称的情况下访问单个元素?

如何在不使用“位置:绝对”的情况下堆叠元素而不相互干扰?

如何在不使用malloc的情况下从mmap更改地址处的值?

如何在不使用C#复制的情况下将结构数组元素提取到变量中?

如何在不影响原始数组元素的情况下更改ArrayList中的元素?

如何在不使用 shell 脚本中的 sort cmd 的情况下查找数组中的最大值

如何在不使用数组 [key] 的情况下访问数组值?

如何在不使用onChange的情况下使用React为<select>设置值?