如JSX扩展中所定义
interface JSXIdentifier <: Identifier {
type: "JSXIdentifier";
}
JSXIdentifier与AST中的正常标识符的目的是什么? https://github.com/facebook/jsx/blob/master/AST.md
答案 0 :(得分:0)
好的,看起来JSXIdentifier
大致对应于JSX虚拟DOM中的组件或标签名称。例如在代码中
<ul></ul>
有JSXOpeningElement
个孩子JSXIdentifier
,名称设为“ul”
{
name {
name : "ul",
type: "JSXIdentifier",
...
},
type: "JSXOpeningElement",
...
}
原因是区分JavaScript标识符与Virtual DOM元素或React类名称。
因此,正常Identifier
引用JavaScript执行上下文变量,而JSXIdentifier
引用Virtual DOM或React Class名称。