【发布时间】:2021-08-13 22:04:57
【问题描述】:
我有一个嵌套对象,如下所示 -
const [userInfo, setUserInfo] = useState({
author:"",
user: {
name: 'rahul',
email: 'rahul@gmail.com',
phone: [{ primary: '8888888810' }, { alternate: '7777777716' }]
}
});
我想要 5 个输入字段 - 作者、姓名、电子邮件、主要和备用字段,并且只想使用一个 handleChange() 方法来更改字段。
你可以在链接上找到我写的代码-https://stackblitz.com/edit/react-ngpx7q
在这里,我无法弄清楚如何正确更新状态。任何帮助将不胜感激。
【问题讨论】:
-
为什么要为手机使用对象数组?只需使用一个对象。
-
@YaakovAinspan 我在面试时遇到了这个问题。
-
@MattU 不完全是:(
-
也许采访的一部分是为了识别次优的状态形状?平面对象在 UI 中使用起来很简单,您可以在提交到任何服务时嵌套属性或以其他方式创建新的对象形状。也许问题是通过点表示法识别嵌套属性,即
id="user.phone.primary",他们希望您编写逻辑来拆分它并递归访问正确的属性。希望你问清楚他们想要什么的问题,有时面试问题是故意模棱两可的。
标签: javascript reactjs react-hooks state javascript-objects