当前位置: 首页 > 面试题库 >

难以理解JSX传播运算符

孔寒
2023-03-14
问题内容

在React文档中给出以下示例代码:

var props = {};
props.foo = x;
props.bar = y;
var component = <Component {...props} />;

我做了一些调查...props,最终得出的结果是:

React.__spread({}, props)

进而得出{foo: x, bar: y}

但是我想知道的是,为什么我不能这样做:

var component = <Component props />;

我看不出点差运算符的含义是什么。


问题答案:

这有助于使您的代码更简洁-由于props是对象,所以散布运算符会将传入的对象的 属性 应用到组件中。因此,该Component的属性a
foo的值为,x而a bar的值为y

它将与以下内容相同:

var component = <Component foo={props.foo} bar={props.bar} />;

短一点



 类似资料:
  • 问题内容: 我听说过这两种语言都称为“传播语法”和“传播算子”,后者更为流行。有关MDN文档的URL表明,它最初被称为扩展运算符,但后来更改为扩展语法,而MDN的运算符列表未提及它。 Google似乎建议使用术语“运营商”来普及和接受,例如Microsoft文档和[es6-features.org]等网站都将其称为“运营商”。 在ECMAScript的上下文中,哪一个术语最正确(如果有),为什么?

  • 这是一个关于一维峰值查找的问题(如果元素比数组中的邻居大,它就是一个峰值)。我正在看麻省理工学院的开放式课程讲座,他谈到了一个天真的解决方案:从索引0开始,一直到最后。 然后他说分而治之的解决方案要好得多。我不明白怎么会这样。这难道不是根据数组的内容做出假设吗?如果只是随机数,那又有什么区别呢? 讲师说他写了一个Python脚本,朴素的解决方案花了13秒,而log(N)解决方案只花了.001秒。我

  • 我刚刚写了一个方法,它包含两个参数:1。扩展数字和2的任何类型的数组列表。相同类型的数字。此方法应返回一个数组列表,其中包含小于第二个参数的所有数字。 我的课叫

  • 我在理解合并排序算法的“合并”部分时有点困难,因为我试图在上下文中理解算法的部分,而某些变量/循环对我来说没有意义。我理解递归除法过程和合并的排序方面,但在这个特定的合并算法中: 我不明白最后3个循环: 你能解释一下这3个循环在合并的上下文中是用来做什么的吗?还有什么进一步的建议可以帮助你更好地理解合并排序算法的合并部分吗?

  • 我在基于频率表的哈夫曼树上工作。频率表是通过计算给定字符串中字符的频率并将相应项(字符和频率)放置在链接列表中生成的。然后,我需要将项目按频率顺序放置在哈夫曼树中。我得到了它背后的逻辑是确保每个子树都有右节点和左节点,添加它们的频率,用它们添加的频率创建一个根节点,将下一个频率分别放在左树和右树中,并重复这个过程,直到没有更多的频率,子树与添加其频率的根连接;我遇到的问题是如何实现代码。 代码相当

  • JSX作为描述组件内容的数据结构,为JS赋予了更多视觉表现力。在React中我们大量使用他。在深入源码之前,有些疑问我们需要先解决: JSX和Fiber节点是同一个东西么? React Component、React Element是同一个东西么,他们和JSX有什么关系? 带着这些疑问,让我们开始这一节的学习。 JSX简介 相信作为React的使用者,你已经接触过JSX。如果你还不了解他,可以看下