reactjs - 使用 React Hooks 更新嵌套对象中的值
问题描述
我的愿望是更新shoppingCart[0]里面的产品
状态: const [authenticatedUser, setAuthenticatedUser] = useContext<any>(UserContext)
console.log(authenticatedUser)
显示以下内容:
我尝试使用以下代码更新产品数组的值:
setAuthenticatedUser({ ...authenticatedUser, products: ['new item'] })
但它在authenticatedUser 中创建了一个新的产品数组。
如何更新里面的产品数组authenticatedUser.shoppingCart[0].products
?
数据:
const [authenticatedUser, setAuthenticatedUser] = useState(
{
authenticated: true,
id: "3i4jijrifjifrjifr",
shoppingCart: [{
createdAt: "2021-01-29T10:14:21.253Z",
products: ['this is the array i want to update', '2', '3']
}]
}
)
解决方案
尝试这个:
setAuthenticatedUser({ ...authenticatedUser, shoppingCart:[{...authenticatedUser.shoppingCart[0],products:['newItem']}] })
推荐阅读
- flutter - 在 Flutter 中使用 Http 代理
- java - 如何比较存储在 ArrayList 中的对象属性?
- php - MySQL Procedure with sub statement? Where should WHERE be and maybe inside ()?
- javascript - MediaSource 不适用于支持的编解码器
- arrays - Google 表格对电子表格的所有列的计数都是唯一的
- python - ttk布局选择指南
- python - 在 Tkinter 树视图中显示字典键
- mysql - 如何在 mySQL 数据库中存储长度未知的数组
- raspberry-pi - 尝试选择 i2c 地址会引发 ioctl failed: invalid argument
- three.js - 关于警告的问题:“THREE.WebGLRenderer:纹理已从 (4160x3120) 调整为 (4096x3072)。”