<分区>
我正在使用 ... 展开语法替换 react 状态数组中的项目。这有效:
let newImages = [...this.state.images]
newImages[4] = updatedImage
this.setState({images:newImages})
是否可以在一行代码中做到这一点?是这样的吗? (这显然行不通...)
this.setState({images: [...this.state.images, [4]:updatedImage})
<分区>
我正在使用 ... 展开语法替换 react 状态数组中的项目。这有效:
let newImages = [...this.state.images]
newImages[4] = updatedImage
this.setState({images:newImages})
是否可以在一行代码中做到这一点?是这样的吗? (这显然行不通...)
this.setState({images: [...this.state.images, [4]:updatedImage})
最佳答案
this.setState({images: [...this.state.images.slice(0, 4), updatedImage, ...this.state.images.slice(5)]})
从原帖编辑:更改了 slice 方法第二个参数中的 3 o a 4,因为第二个参数指向数组中超出最后一个保留的成员,它现在正确回答了原始问题。
关于javascript - 在一行代码中用扩展语法替换数组条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45673783/
相关文章:
javascript - 使用 jQuery 选择没有值的选项
javascript - 在 DataTables 1.10.x 中设置 td id/name 的问题
javascript - 为什么 VSCode 不识别 JavaScript 扩展运算符并改为自动完成?
javascript - JS的传播语法是否出现在其他语言中?
javascript - 防止自动搜索/添加搜索按钮List.js
reactjs - 没有依赖关系的 useEffect 内部代码与外部代码之间的区别?
reactjs - 无法获取用于测试的 TreeView 图标和 IconButton