Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在React中更新数组的元素?

如何在React中更新数组的元素?
EN

Stack Overflow用户
提问于 2015-12-10 12:50:00
回答 1查看 2.4K关注 0票数 3

我需要使用React的不变性帮手更新数组中元素的一个属性。

我有这样的事情:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
this.setState(React.addons.update(this.state.collection[index], {
  property: { $set: !this.state.collection[index].property }
}));

其中index实际上是集合中元素的索引,而property是我试图切换的布尔值。

问题是,代码不是修改元素的property,而是修改this.state对象中的一个property属性--所以它应该类似于{collection: [...], property: true}

嵌套集合上,它说我应该使用一个以元素的索引作为键的散列,但是我把它放在一个变量中,因此它变得有点模糊:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
this.setState(React.addons.update(this.state, {
  collection: {
    index: {
      property: { $set: !this.state.collection[index].property }
    }
  }
}));

它实际上给了我一个Cannot read property 'property' of undefined错误--也就是说,this.state.collection没有一个index属性,这是真的。

我怎样才能做到这一点?

我已经知道我应该使用$apply而不是$update --但这并不是重点:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-10 12:53:13

可以使用动态属性使用变量index的值作为属性名:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
this.setState(React.addons.update(this.state, {
  collection: {
    [index]: { // <--
      property: { $set: !this.state.collection[index].property }
    }
  }
}));

这在ES2015中是新的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34211468

复制
相关文章
如何在 React 中获取点击元素的 ID?
在 React 应用中,我们经常需要根据用户的点击事件来执行相应的操作。在某些情况下,我们需要获取用户点击元素的唯一标识符(ID),以便进行进一步的处理。本文将详细介绍如何在 React 中获取点击元素的 ID,并提供示例代码帮助你理解和应用这个功能。
网络技术联盟站
2023/06/07
3.5K0
如何在 JS 中的数组开头添加元素?
代码部署后可能存在的BUG没法实时知道,事后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug。
前端小智@大迁世界
2021/03/02
9.7K0
React技巧之在state数组中添加元素
原文链接:https://bobbyhadz.com/blog/react-push-to-state-array[1]
chuckQu
2022/08/19
2.8K0
React技巧之在state数组中添加元素
java数组删除元素_java中删除 数组中的指定元素方法[通俗易懂]
java中删除 数组中的指定元素要如何来实现呢,如果各位对于这个算法不是很清楚可以和小编一起来看一篇关于java中删除 数组中的指定元素的例子。
全栈程序员站长
2022/09/22
8.3K0
React Hook如何更新数组state
在使用react hook做开发时,会碰到更新数组state的情况,该怎么做呢?看代码:
挥刀北上
2021/02/02
5.2K0
React Hook如何更新数组state
React 源码深度解读(九):单个元素更新
React 是一个十分庞大的库,由于要同时考虑 ReactDom 和 ReactNative ,还有服务器渲染等,导致其代码抽象化程度很高,嵌套层级非常深,阅读其源码是一个非常艰辛的过程。在学习 React 源码的过程中,给我帮助最大的就是这个系列文章,于是决定基于这个系列文章谈一下自己的理解。本文会大量用到原文中的例子,想体会原汁原味的感觉,推荐阅读原文。
Dickensl
2022/06/14
6380
React 源码深度解读(九):单个元素更新
删除数组中某个指定元素的值_如何删除数组中的元素
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169504.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
12.6K0
React数组变化之后,视图没有更新
react数组变化之后,视图没有更新 数组保存在state中,修改数组之后视图没有更新 function updateData(data) { this.setState({ data: data }) } 上面代码是修改状态值的,这样设置会导致视图没有更新,修改为如下代码即可: function updateData(data) { this.setState({ data: [...data] }) }
寻找石头鱼
2020/06/05
2.9K0
如何在 JS 中判断数组是否包含指定的元素(多种方法)
最近开源了一个 Vue 组件,还不够完善,欢迎大家来一起完善它,也希望大家能给个 star 支持一下,谢谢各位了。
前端小智@大迁世界
2021/02/04
26.7K0
[javascript] js删除数组中的元素
arr.splice(start,delete_length) 这种方式数组长度相应改变,原来的索引也相应改变。 splice()删除后返回的是删除的元素。 另外splice()还可以添加,替换数组元素。
唯一Chat
2021/08/05
11.4K0
[随缘一题]排序数组中的单个元素
因为我发现每日一题太难了,,,总会出现一些加班已经很累了(懒得不想动)的时候,而且周末有事多做两道题都叫做同一天的每日一题也让我这个强迫症贼难受.
呼延十
2019/07/01
2.2K0
java中输出数组元素的方法[通俗易懂]
Array.toString(要输出的数组名): 返回一个包含数组元素的字符串,这些元素被放置在括号内,并用逗号分开。 方法三:
全栈程序员站长
2022/11/07
2.8K0
Golang MongoDB Driver 更新符合条件的数组元素的字段
在 MongoDB 的 Shell 里修改文档里某个符合条件的数组里的值的字段,可以这样:
饶文津
2020/08/05
4.1K0
vue删除数组中指定元素_如何删除数组中的元素
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169518.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
7.8K0
怎样从数组中删除给定元素_java数组包含某个元素
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169528.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
5.1K0
怎样从数组中删除给定元素_java数组包含某个元素
jquery判断数组中是否包含某个元素的值_java判断元素是否在数组中
如果arry数组里面存在”C#” 这个字符串则返回该字符串的数组下标,否则返回(不包含在数组中) -1
全栈程序员站长
2022/11/02
5.8K0
js删除数组中的一个元素_js数组包含某个元素
1. 不可以使用 delete 方式删除数组中某个元素,此操作会造成稀疏数组,被删除的元素的为位置依然存在为empty,且数组的长度不变
全栈程序员站长
2022/11/10
11.8K0
char数组中除去某个元素
1 /* 2 本程序说明: 3 4 char数组中除去某个元素(其实就是strcpy源码的变形) 5 6 */ 7 #include <iostream> 8 #include <cassert> 9 #include <cstring> 10 using namespace std; 11 12 char * remove_char(char* src, int length, char c){ 13 char *dst=src; 14 char *res=dst;
xiaoxi666
2018/10/29
1.5K0
es6删除数组指定元素_如何删除数组中的元素
如图,这个数组里面有三个元素,现在要删掉这个id是24的元素,那我们代码就应该这么写
全栈程序员站长
2022/09/22
6.8K0
es6删除数组指定元素_如何删除数组中的元素
点击加载更多

相似问题

更新React Hookstate中的数组元素

217

使用其他数组react中的元素更新数组

220

在React中更新嵌套数组元素

11

如何在React中更新ANTD文本输入字段(如getElementById)

17

React:如何在MongoDB中将元素添加和更新到数组中

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文