6

JSX 转换器导致错误

当我使用react-tools的转换器转换我的反应文件时

      $ jsx public/dev/jsx public/prod/js --no-cache-dir

或者当我使用grunt-react转换时

      $ grunt react

我的生产文件中断,因为转换使用React.createElement并且错误表明此函数未定义。

      <h1>{this.state.title}</h1>

转换为:

      React.createElement("div", null, 
      React.createElement("h1", null, this.state.title)

代替:

      React.DOM.h1(null, this.state.title)

实时转换器工作正常,因为它使用React.DOM.h1(null, this.state.title). 这行代码配合react很好用,但是React.createElement()函数不起作用,找不到。

如何强制我的自动转换器(无论是 JSX 还是 grunt)转换为React.DOM.h1(null)而不是React.createElement(h1, null). 转换器为什么要使用这个功能?

4

2 回答 2

4

我对咖啡反应转换库有同样的错误。这些库正在为 React 0.12 更新。如果您仍在使用 React 0.11,您可能需要将 grunt-react 回滚到稍旧的版本,或者升级到 React 0.12。

于 2014-11-03T17:41:09.477 回答
0

是的,我实际上更新到 React 0.12 并且它开始工作了......谢谢。

于 2014-11-04T19:26:04.547 回答