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

what is the functionality of "@jsx react.dom" adding in top of every file?

什么是功能:

 /** @jsx React.DOM */

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

自 React v0.12 后,不再有 /** @jsx React.DOM */see here

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

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

不再是了。 React 团队在他们的 v0.12 发布说明中分享:

We have wanted to do this since before we even open sourced React. No more /** @jsx React.DOM */!. The React specific JSX transform assumes you have React in scope (which had to be true before anyway).