的功能是什么
/** @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(无论如何,这之前都必须是真的)。