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

理解JSX元素声明语法

郭乐湛
2023-03-14

我看到了在JSX中声明元素的两种不同方式。

第一种情况如下所示。

const element = (
  <div>
    ...
  </div>
);

但我也看到了以下元素声明。

const App = () => (
  <BrowserRouter>
    ...
  </BrowserRouter>
)

这两个元素都可以传递给ReactDOM。render()作为它们的第一个参数。

但这两种语法之间到底有什么区别呢?

共有1个答案

燕建中
2023-03-14

第一个立即评估。第二个是在呈现其父级时计算的。

这是两者的区别

let y = 1,
  x = y;

y = 2;

console.log(x); // prints 1

let y = 1,
  x = () => y;

y = 2;

console.log(x()); // prints 2

在设计可重用组件时,请使用第二种语法。在另一个组件的渲染中返回或包含组件时,请使用第一个组件。

 类似资料:
  • 我使用Visual StudioXML工具创建了XSD。我使用下面的C#代码来验证XML并面对这个错误。 错误 元素没有声明为“http://www.w3.org/2000/09/XMLDSIG#:Signature”。 所以我的问题是如何修复它,因为在编辑模式下,XML是100%有效的? 谢谢你! XSD 更新#1 我试过不同的方法,但都不开心。 即使我用这种方法也不快乐。

  • 我想调用ReactJS HOC来包装JSX周围的工具提示。 呼叫应能如下所示: 因此,我创建了此函数: 电话: 它说: 函数作为React子函数无效。如果返回组件而不是从渲染返回组件,可能会发生这种情况。或者你想调用这个函数而不是返回它 如何解决?

  • 问题内容: 我有弹簧罐,并试图 从此处给出的教程中实现程序。xml配置文件为: 主要: 我不知道这些豆怎么了。到目前为止,关于其他问题的任何建议都无济于事。有什么帮助吗? 问题答案: 假设您使用的是Spring 3.1,请尝试以下操作: 在最后一行用您使用的 主要 Spring版本替换。含义:即使有Spring版本,也没有XSD 。

  • 我有这个问题 XML格式的文档 我的XSD 我有个神经衰弱的问题。有什么想法吗? 问候

  • 在spring中,每当我在dispatcher-servlet.xml中编写时,我都会得到这样的错误:-

  • 我从GitHub获取了一个android项目,并将其克隆到了我的android Studio中。当我试图运行ActivityMain时。xml文件为了检查项目是否正常工作,我遇到了这个错误“找不到元素'RelativeLayout'的声明”。我不知道怎么解决这个问题。如果任何人有任何其他方式运行该项目,请建议太多。 github文件的链接如下所示 https://github.com/PedroC