在每个文件顶部添加"@jsx react.dom"的功能是什么?



的功能是什么

/** @jsx React.DOM */

我看到这一行被添加到我当前项目中的许多文件之上,但我很困惑为什么要添加它(

由于React v0.12,不再有/** @jsx React.DOM */,请参阅此处。

他们称之为"@jsx Pragma"。它用于让您指定React Transformer的输出应该是什么样子。

因此,在过去,当将JSX表达式编译为JavaScript时,它们默认为React.createElement()调用。但是您可以使用开头的/** @jsx React.DOM */注释来修改此行为。其想法是使转换更通用,并允许您指定输出的外观。

不再是了。React团队在他们的版本v0.12中分享了以下注释:

在我们开源React之前,我们就已经想这么做了。不再使用/** @jsx React.DOM */!。特定于React的JSX转换假设您在作用域中有React(无论如何,这之前都必须是真的)。

最新更新