javascript - Reactjs 和 Javascript:如何将嵌套对象映射到输入字段
问题描述
我需要一些帮助。我是 Reactjs 的新手,我正在尝试将嵌套对象映射到输入字段,因此当用户键入内容时,它将映射到嵌套对象字段名称。
这是我试图访问的数据。
const [details, setDetails] = useState(
{
firstName: '',
lastName: "",
email: '',
dataOfBirth: '',
phoneNum: '',
employeeAddress:
{
street: '',
city: '',
state: '',
zipcode: 0
}
})
输入字段表单我尝试了下面的代码,但它不起作用
<div className="form-group">
<label htmlFor="" className="street">Street</label>
<input type="text" name="street" id="street"
onChange={e => setDetails({...details.employeeAddress, street: e.target.value})}
value={details.employeeAddress.state}
/>
</div>
示例下面的代码可以工作,因为它没有嵌套在对象中。
<div className="form-group">
<label htmlFor="" className="firstName">First Name</label>
<input type="text" name="firstName" id="firstName"
onChange={e => setDetails({...details, firstName: e.target.value})}
value={details.firstName}
/>
</div>
解决方案
您还需要像这样传播employeeAddress 对象
onChange={e => setDetails({ ...details, employeeAddress: { ...details.employeeAddress, firstName: e.target.value } })}
推荐阅读
- reactjs - 在 React 中为您的产品创建新构建是否可以?
- modelica - 初始化系统结构单一
- sql - 如何连接具有 2 个字段的两个表
- azure - Azure Application Insights - 不记录高流量情况下的所有请求
- java - 如何在 Spring Boot 应用程序的事务类中显式提交?
- javascript - 打字稿:从扩展类调用超级方法会产生类型错误 - (中间值)不是函数
- date - 字符串解析 intl 包 dart 的日期格式列表
- javascript - 你如何在 discord.js 中使用多个单词的参数?
- c# - 画布位置属性在 ItemsControl.DataTemplate 中不可用/不可访问
- django - Django:根据用户输入的位置为订单分配路线