JSX 使用哪个解析器?
Which parser JSX uses?
正如名称 JSX
中提到的那样,它是必须有结束标记等的限制。
我认为 JSX
使用 XML
解析器。
如果使用 XML
那么为什么选择 XML not HTML
?
来自the docs:
"JSX Specification: XML-LIKE SYNTAX EXTENSION TO ECMASCRIPT"
回答您的问题:"why choose XML not HTML",因为这允许它成为 HTML 的超集并包含用户定义的标签。例如,它允许您定义一个 "MyApp" 标签(组件)并使用它:<MyApp name="some name" />
。因为它是 "XML-LIKE SYNTAX EXTENSION TO ECMASCRIPT",所以您可以将它与 javascript:
一起使用
function calculatedComplexName() {
return "some complex name";
}
<MyApp name={calculatedComplexName()}/>
正如名称 JSX
中提到的那样,它是必须有结束标记等的限制。
我认为 JSX
使用 XML
解析器。
如果使用 XML
那么为什么选择 XML not HTML
?
来自the docs:
"JSX Specification: XML-LIKE SYNTAX EXTENSION TO ECMASCRIPT"
回答您的问题:"why choose XML not HTML",因为这允许它成为 HTML 的超集并包含用户定义的标签。例如,它允许您定义一个 "MyApp" 标签(组件)并使用它:<MyApp name="some name" />
。因为它是 "XML-LIKE SYNTAX EXTENSION TO ECMASCRIPT",所以您可以将它与 javascript:
function calculatedComplexName() {
return "some complex name";
}
<MyApp name={calculatedComplexName()}/>