我正在努力理解为什么es6对象在对象之间的传播行为不同,以及当它在React组件中用于传播道具时。
以下内容对我来说很有意义:
const a = {
a:1,
b:2
}
const c = {...a}
现在,变量c将具有与变量"a"相同的属性,键值对的格式为a:1,b:2。
这没有道理:
<Mycomponent {...a} />
将道具转化为CCD_ 1。为什么它以这种方式表现,而不是通常的键值对a:1, b:2
?
我想了解为什么这样做,这样我就能更好地理解语言。
我看过一些教程和文章,解释了传播在这两种情况下是如何工作的,但我还没有找到答案,为什么它的传播方式不同?
<真菌成分{…a}/>
将道具变成";a={1}b={2}";。为什么它以这种方式表现,而不是通常的键值对a:1,b:2?
但它正在执行a:1和b:2的键/值对。以下代码。。。
<Mycomponent a={1} b={2} />
告诉react创建一个看起来像{ a: 1, b: 2 }
的道具对象。当您使用spread语法时,它还告诉react创建一个看起来像{ a: 1, b: 2}
的props对象。