2

在 JSX 扩展中定义

interface JSXIdentifier <: Identifier {
    type: "JSXIdentifier";
}

JSXIdentifier 与 AST 中的普通标识符的目的是什么? https://github.com/facebook/jsx/blob/master/AST.md

4

1 回答 1

1

好的,它看起来JSXIdentifier大致对应于 JSX 虚拟 DOM 中的组件或标签名称。例如在代码中

<ul></ul> 

会有一个名字设置为“ul”JSXOpeningElement的孩子JSXIdentifier

{
  name {
     name : "ul", 
     type: "JSXIdentifier",
     ...
  },
  type: "JSXOpeningElement",
  ...
}

原因是将 JavaScript 标识符与 Virtual DOM 元素或 React 类名区分开来。

因此,通常Identifier是指 JavaScript 执行上下文变量,而JSXIdentifier指的是虚拟 DOM 或 React 类名称。

于 2015-12-12T15:37:25.010 回答