首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用JSX扩展属性覆盖JSX属性

用JSX扩展属性覆盖JSX属性
EN

Stack Overflow用户
提问于 2019-10-25 20:21:46
回答 1查看 578关注 0票数 3

JSX不允许不止一次指定属性。

F.ex。

代码语言:javascript
复制
<Component prop1="a" prop1="b" />        /* <- This is not allowed */

我想知道,如果一个属性被显式地指定了一次,那么会发生什么,但是,另外,包含相同属性的另一个spread属性将传递给组件:

代码语言:javascript
复制
<Component prop1="a" {...obj} />         /* where obj contains an attribute called "prop1" */

属性的顺序是否重要?例如,第二个属性会覆盖第一个属性吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-25 20:26:06

第二名的道具将取代第一名。

在这种情况下,prop1将是"b"

例:

代码语言:javascript
复制
const obj = {prop1: 'b' };
return (<Component prop1="a" {...obj} />);

这遵循了物体传播的工作原理。

MDN传播语法

例:

代码语言:javascript
复制
const a = { prop1: 'a' };
const b = { prop1: 'b' };
const c = { ...a, ...b };

对象c将具有prop1 of "b",因为对象b是在第二阶段传播的。

例:码砂箱

编辑:关于react的更多证据和文档:反应中的扩散属性

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58565268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档