reactjs - 如何使用useState在对象中只设置一个属性?
问题描述
我有一个对象作为反应状态:
{course: {…}, userIDs: Array(2), usersNumber: 2}
course
这样的对象在哪里:
price : 100
promotion : null
comments : []
我想要做的是向comments
数组中添加一个新对象并保持所有其他属性不变。怎么办useState
?
解决方案
该setState
函数还接受一个接收当前状态的函数。所以你可以做这样的事情:
setData(data => {
const updatedData = { ...data };
updatedData.course.concat(newComment);
return updatedData;
});
首先,复制data
变量,以免更改现有引用。然后将新评论连接到该course
属性。最后,返回新的数据对象。
推荐阅读
- sql - Oracle SQL 内连接不返回具有空值的记录
- python - PYTHON - 如何根据分隔符将一列分成两列
- operators - 'true and (true or false) and false' 的答案应该是什么?
- maven - 在 Mac 中为 Catolina 或更高版本设置 maven (mvn) 的环境变量路径
- unity3d - unity 弹跳和移动
- mysql - 无法在 BQ MySQL 中解析输入字符串日期时间
- angular - 无法从 firebase-Angular http://localhost:4200/admin/products/undefined 获取 $key
- javascript - JavaScript 调整窗口大小改变边界
- android - 无法读取密钥/缺少密钥库 Android Studio
- python - python如何从字典列表中对两个相似的值进行分组?