reactjs - 更新了 ReactJS 功能组件中的嵌套对象
问题描述
我有一系列存储在状态中的嵌套对象,我正在尝试更新电子邮件/短信数据字段。这工作得很好。
我的问题是,有没有更好的方法来编写“onChange”处理程序?
嵌套对象
const [settings, setSettings] = useState({
notifications: {
contact: {
email: true,
sms: false
},
updates: {
email: true,
sms: true
}
}
});
复选框 onChange 处理函数
const onCheckBoxChanged = (e, settingType, settingSubType, checked) => {
setSettings(prevState => {
const updated = { ...prevState };
updated.notifications[settingType][settingSubType] = checked;
return updated;
});
};
复选框是语义 UI 反应的一部分。
<Checkbox checked={settings.notifications.contact.email}
onChange={(e, { checked }) => onCheckBoxChanged(e, "contact", "email", checked)} />
可以在此处找到一个工作示例codesandbox.io
谢谢
解决方案
推荐阅读
- php - 无法连接到 Apache Web 服务器
- windows - 我需要知道如何批量回显嵌套变量
- android - Android 应用程序 ImageView.Gone 在设备上不一致
- python - 如何使用 Python 有效地从 XML 文件中创建表?
- javascript - 为什么我的脚本代码无法向我的对象添加类?
- r - 将 R 数据框转换为 h2o 对象 - 错误:提供的列类型排序未知
- php - Laravel 验证:如何在验证结果数组中获取可选字段?
- azure - Azure 应用服务 - Docker 撰写多容器应用 - 无 Docker 日志
- angular - 如何知道从 STOMP 在 ActiveMQ Artemis 中创建 MULTICAST 地址的错误是什么?
- python - 当我按下另一个 QWidget 中的按钮时,我想在 QPixmap 中设置 path_to_photo