当前位置: 首页 > 知识库问答 >
问题:

三个点在ReactJS[duplicate]中做什么

龙哲
2023-03-14
const peopleList = this.state.people.map( x => {

    return <Person key={x.name} {...x} />
})

“{...X}”这个代码是什么意思?

共有1个答案

楚硕
2023-03-14

这是React中的扩展运算符语法。

从MDN文档:

扩展语法允许表达式在需要多个参数(用于函数调用)或多个元素(用于数组文字)或多个变量(用于析构赋值)的地方展开。

例如如果

var x = {
     name: "Hello",
     last_name: "World"

}

则如果执行

以上将等价于

<Person key={x.name} name={x.name} last_name={x.last_name}/>
var data = {
     name: 'abc',
     age: '25',
     college: 'lmit'
}

如果您使用扩展运算符语法,如

 <Person key={x.name} name='xyz' {...data} />

那么从数据解析的key:value对将覆盖propname='xyz'。因此,最后的Person组件调用将如下所示

 <Person key={x.name} name='abc' age= '25' college= 'lmit' />

然而当你把它写成

 <Person key={x.name}  {...data} name='xyz' />
  <Person key={x.name} name='xyz' age= '25' college= 'lmit' />
 类似资料:
  • 在这个React(使用JSX)代码中做什么,它叫什么?

  • 问题内容: 什么是在这个做反应(使用JSX)代码,什么是它叫什么名字? 问题答案: 那是 财产传播符号 。它是在ES2018中添加的(用于数组/可迭代对象的版本早于ES2015),但是它在React项目中已经通过翻译长期得到支持(“ JSX传播属性 ”,即使您也可以在其他地方这样做) )。 将 “自己的”可枚举属性作为离散属性 散布 在要创建的元素上。例如,如果包含和,则 将与 但是它是动态的,因

  • 问题内容: 什么是在这个做反应(使用JSX)代码,什么是它叫什么名字? 问题答案: 那是 property spread notation。它是在ES2018中添加的(用于数组/可迭代对象的版本更早于ES2015),但是随着时间的流逝,它通过转译得到了支持(作为“ JSX spread attributes ”,即使你也可以在其他地方这样做,而不仅仅是属性) 。 将 “自己的”可枚举属性作为离散属

  • 在我的反应组件中,我将数据从超文本传输协议加载到表中。 当我删除一条记录时,我在后端执行删除,并在响应中再次调用读取表数据。有时删除的行不会从GUI中的表中删除。我认为需要等待,直到删除执行,以便我获取表数据,只有当我知道行被删除。 我的删除功能:

  • 这就是状态变量中的内容 我试图做的是调用一个函数来更新一个位置的期望值。例如,我使用的函数如下: 它不起作用。我知道我可以传递一个完全更新的数组,但我需要当前状态的其他值。

  • 我能用一个lambda表达式来完成这一切吗?