微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用react和json-server更新嵌套对象

如何解决如何使用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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?