如何解决如何使用react和json-server更新嵌套对象
我真的需要一些帮助,我试图找出问题的三天时间,但是没有运气,因此,如果您能帮助我,我将不胜感激....我正在尝试使用react和json-server构建一个简单的应用程序后端的问题是我的数据具有嵌套对象,因此,即使我获取数据并尝试对其进行修改,也会引发错误,说嵌套obj中的kay未定义! 问题如何更新状态已嵌套obj 这是用户状态 const [getUser,setGetUser] = useState({ 名字: '', 姓: '', 年龄:“, 性别: '', 地址:{address1:”,address2:”,城市:”,州:”,邮政编码:”}, order_total:{金额:0}, }); 这就是onChnage乐趣的原理 setGetUser({... getUser,[e.target.name]:e.target.value}) 让我看看我要如何更新地址obj中的城市
解决方法
撰写时:
setGetUser({ ...getUser,[e.target.name]: e.target.value })
您正在向字典添加新的键值对,而不更新现有的键值对。如果要更新现有的键值对,例如城市,则应尝试以下操作:
- 克隆字典
- 使用新信息修改克隆
- setState(修订的克隆字典)
例如:
const [getUser,setUser] = useState({
first_name: "",last_name: "",age: "",gender: "",address: {
address1: "",address2: "",city: "",state: "",zip: ""
},order_total: {
amount: 0
}
});
const updateCityHandler = (city) => {
let newDict = {...getUser}
newDict.address.city = city
setGetUser(newDict)
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。