这是解构事件目标属性还是某些 JSX 语法?
Is this de-structuring event target attribute or some JSX syntax?
我在这里找到了一个事件处理函数,用于处理输入字段的 onChange
事件。
我对 [e.target.name]
works/what 的表现感到困惑。
(我知道它正在获取目标输入字段的 name
属性值)。
const handleOnChange = (e) => setFormData({ ...formData, [e.target.name]: e.target.value });
有人可以解释一下它在做什么以及它是如何工作的吗?非常感谢。
[e.target.name]
在JS中叫做computed property。
简单来说,[e.target.name]
会变成一个对象属性(key),值为e.target.name
。例如,如果 e.target.name
对应于(值为)credit
,则对象结构将如下所示:
setFormData({
..formData,
credit: e.target.value
});
这很简单 JavaScript,更具体地说是语言的 ES6 特性。
关于 React 的 onChange
事件处理程序要牢记的另一件重要事情是它的行为与原生 JS onchange
事件完全不同。阅读 this post 了解更多。
参考资料
我在这里找到了一个事件处理函数,用于处理输入字段的 onChange
事件。
我对 [e.target.name]
works/what 的表现感到困惑。
(我知道它正在获取目标输入字段的 name
属性值)。
const handleOnChange = (e) => setFormData({ ...formData, [e.target.name]: e.target.value });
有人可以解释一下它在做什么以及它是如何工作的吗?非常感谢。
[e.target.name]
在JS中叫做computed property。
简单来说,[e.target.name]
会变成一个对象属性(key),值为e.target.name
。例如,如果 e.target.name
对应于(值为)credit
,则对象结构将如下所示:
setFormData({
..formData,
credit: e.target.value
});
这很简单 JavaScript,更具体地说是语言的 ES6 特性。
关于 React 的 onChange
事件处理程序要牢记的另一件重要事情是它的行为与原生 JS onchange
事件完全不同。阅读 this post 了解更多。
参考资料